关于MVC3在视图页面引用命名空间的相关设置

最近一直在研究这个mvc3,尤其是视图页面获取数据并显示这块内容。

开始一直是用最笨的方法就是将数据放在ViewBag或者ViewData,然后在视图页面提取数据并显示。

这个有问题就是ViewBag是程序运行的时候动态解析的,没办法智能提示,容易出现错误,或许你要经过as关键字显示转化相关类型。

后来想到用扩展方法。因为页面默认可以使用Html属性。转到定义发现他是HtmlHelper这个类

 

public new HtmlHelper<TModel> Html {
            get;
            set;
 }

于是扩展这个类。。。

public static List<Panners_Menu> GetMenuList(this HtmlHelper html, int level)
{
       //To do something
}

 但是你要在视图页面使用这个方法,必须要引入命名空间

@using 命名空间

如果每个页面都要用到这个方法,每个页面都要这么写那岂不就烦死了。如是我找到了如下方法

在视图页面文件夹中,也就是Views文件夹中,有个web.config文件。打开并找到如下代码。

<namespaces>
     <add namespace="System.Web.Mvc" />
     <add namespace="System.Web.Mvc.Ajax" />
     <add namespace="System.Web.Mvc.Html" />
     <add namespace="System.Web.Routing" />
</namespaces>

下面开始修改,很简单,就是再ADD一个你所要引入的命名空间

<namespaces>
     <add namespace="System.Web.Mvc" />
     <add namespace="System.Web.Mvc.Ajax" />
     <add namespace="System.Web.Mvc.Html" />
     <add namespace="System.Web.Routing" />
     <add namespace="命名空间" />
</namespaces>

 

注意:

但是,这有个问题,就是在vs中编辑视图页面是,如果调用其命名空间的方法时,他是会提示错误的,但是运行没有问题。

希望各位路过的好心人,知道给我说下。

--------------------------------------------------------------------------------------------------------------------------
博主小站,关注HTML5,脚本开发,收集常用源码及资源。三只源码
原文地址:https://www.cnblogs.com/archip/p/2471641.html