zoukankan      html  css  js  c++  java
  • 关于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,脚本开发,收集常用源码及资源。三只源码
  • 相关阅读:
    如何运用领域驱动设计
    如何运用领域驱动设计
    linq Select与SelectMany的区别
    linq GroupBy 多字段分组
    Enumerable<T>的GroupJoin 方法和Join的用法和区别
    使用vscode搭建vue开发环境
    C# Windows服务发布生成步骤
    C#使用表驱动算法实现多层if或者switch语句重构
    记一次服务器重启后应用程序启动出错
    项目中的NLog日志记录
  • 原文地址:https://www.cnblogs.com/archip/p/2471641.html
Copyright © 2011-2022 走看看