zoukankan      html  css  js  c++  java
  • MVC 中WebViewPage的运用

    MVC在View的最后处理中是将View的文件页面编译成一个类,这个类必须继承自WebViewPage,WebViewPage默认添加对AjaxHelper和HtmlHelper的支持

    public virtual void InitHelpers()
    {
    Ajax = new AjaxHelper<object>(ViewContext, this);
    Html = new HtmlHelper<object>(ViewContext, this);
    Url = new UrlHelper(ViewContext.RequestContext);
    }
    

    所有当我们在View页面中使用@语法时可以调用Html等方法,观察Orchard及Nop项目对WebViewPage中用的最多的是多语言化

            public Localizer T
            {
                get
                {
                    if (_localizer == null)
                    {
                        //null localizer
                        //_localizer = (format, args) => new LocalizedString((args == null || args.Length == 0) ? format : string.Format(format, args));
    
                        //default localizer
                        _localizer = (format, args) =>
                                         {
                                             var resFormat = _localizationService.GetResource(format);
                                             if (string.IsNullOrEmpty(resFormat))
                                             {
                                                 return new LocalizedString(format);
                                             }
                                             return
                                                 new LocalizedString((args == null || args.Length == 0)
                                                                         ? resFormat
                                                                         : string.Format(resFormat, args));
                                         };
                    }
                    return _localizer;
                }
            }
    

    这俩项目还在自定义的Webviewpage中自定义了一些局部标签。

    在Views中的Web.config中修改如下节点值,可将系统默认webviewpage修改成自定义的

       <system.web.webPages.razor>
            <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <pages pageBaseType="Nop.Web.Framework.ViewEngines.Razor.WebViewPage">
                <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="Nop.Web.Framework" />
                  <add namespace="Nop.Web.Framework.UI" />
                  <add namespace="Nop.Web.Framework.UI.Captcha" />
                </namespaces>
            </pages>
        </system.web.webPages.razor>
    

      

  • 相关阅读:
    log4j 使用笔记整理中
    执行bat文件
    excel让每个单元格的宽度随着字体自动变动的两种方式(有更好方法的大神,请忽略,求评论下)
    XML中CDATA及其字符实体的使用
    Java文件读写操作指定编码方式。。。。。
    尾数为0零BigDecimal不能装成正常数
    jquery 自动补全控件(支持IE6)待整理
    $.ajax提交,后台接受到的值总是乱码?明天再总结
    js定义变量需赋予初始值
    存储过程的优缺点
  • 原文地址:https://www.cnblogs.com/xiaoweinet/p/3511070.html
Copyright © 2011-2022 走看看