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,脚本开发,收集常用源码及资源。三只源码
  • 相关阅读:
    原生JS实现无缝轮播
    原生JS模拟百度搜索框
    2016年终总结:一份来自跨界喜剧人的告白
    PHP学习笔记
    html5吹牛扯淡篇,闲话内容。
    html5+css3+jquery完成响应式布局
    jquery的animate({})动画整理
    函数的使用和选择
    jquery函数理解与运用
    老生长谈的$.extend()方法
  • 原文地址:https://www.cnblogs.com/archip/p/2471641.html
Copyright © 2011-2022 走看看