当前位置: 首页 > news >正文

爱上MVC3系列~Razor页面中的共享namespace不起作用了(解决自定义扩展方法不能识别的问题)...

回到目录

在MVC2时代,我们如果希望在页面上引入一个namespace,可以这样来实现

1 <%@ Import Namespace="Web.Helpers" %>

如果名称空间是所有页面都需要的,像System.Web.Mvc这种类型的,我们可以把它写在web.config里,像这样

 1 <pages>
 2       <namespaces >
 3         <add namespace="System.Web.Helpers" />
 4         <add namespace="System.Web.Mvc" />
 5         <add namespace="System.Web.Mvc.Ajax" />
 6         <add namespace="System.Web.Mvc.Html" />
 7         <add namespace="System.Web.Routing" />
 8         <add namespace="Web.Helpers"/>
 9       </namespaces>
10     </pages>

但,到了MVC时代,如果你选择的模板引擎是razor,那以上的web.config里的设置就是没有用的了,因为razor做为一种第三方的组件为.net引入,它是在views目录下的web.config中

进行配置的,所以,你在根目录的web.config里的pages标签下设置namespace是不起作用的。

我们需要打开Views/Web.config,我们可以代到下面代码:

 1 <configuration>
 2   <configSections>
 3     <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
 4       <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 5       <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
 6     </sectionGroup>
 7   </configSections>
 8 
 9   <system.web.webPages.razor>
10     <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
11     <pages pageBaseType="System.Web.Mvc.WebViewPage">
12       <namespaces>
13         <add namespace="System.Web.Mvc" />
14         <add namespace="System.Web.Mvc.Ajax" />
15         <add namespace="System.Web.Mvc.Html" />
16         <add namespace="System.Web.Routing" />
17         <add namespace="Web.Commons.Helpers"/>
18         <add namespace="Web.Helpers"/>
19 
20       </namespaces>
21     </pages>
22   </system.web.webPages.razor>
23 </configuration>

像其它第三方组件一样,razor也是在配置文件中进行声明的,我们找到这个文件的namespaces节点,添加我们需要的namespace,重新VS后,你的命名空间下的内容就被共享到View上了。

 回到目录

相关文章:

  • js或jquery实现页面打印可局部打印
  • Windows 8 Relase Preview的安装
  • mysql授权新的用户时遇到的一个坑
  • Linux makefile 教程 [转]
  • 挚友的考研心得(二)
  • centos6.2LAMP源码环境 安装wordpress
  • NuGet学习笔记(1)——初识NuGet及快速安装使用
  • 网站优化之基本要素
  • Git 使用指南
  • Android ndk移植c库libpng
  • struts2拦截器的实现原理及源码剖析
  • 前端代码标准最佳实践:javascript篇
  • Android GPS GPSBasics project hacking
  • Touch Handling in Cocos2D 3.x(一)
  • Tab与TabHost转
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • canvas 绘制双线技巧
  • GitUp, 你不可错过的秀外慧中的git工具
  • mongo索引构建
  • React16时代,该用什么姿势写 React ?
  • ucore操作系统实验笔记 - 重新理解中断
  • ⭐ Unity + OpenCV 实现实时图像识别与叠加效果
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 如何进阶一名有竞争力的程序员?
  • 如何优雅地使用 Sublime Text
  • ​力扣解法汇总946-验证栈序列
  • "无招胜有招"nbsp;史上最全的互…
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (Java)【深基9.例1】选举学生会
  • (python)数据结构---字典
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (转)shell调试方法
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .Net插件开发开源框架
  • .NET简谈设计模式之(单件模式)
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [ABC275A] Find Takahashi 题解
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [CentOs7]iptables防火墙安装与设置
  • [delphi]保证程序只运行一个实例
  • [ERROR] 不再支持目标选项 5。请使用 7 或更高版本
  • [Git][认识Git]详细讲解
  • [Hive] 常见函数
  • [HTML]Web前端开发技术30(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页