MVC 中WebViewPage的运用
2024-09-14 14:55:23
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>
最新文章
- (转) Wp7 list 中列表项多样化的解决方案-Custom DataTemplateSelector
- VMware Workstation 11, 客户机Ubuntu14.04.1 LTS 64bit,宿主机Windows 8.1 64bit,剪贴板共享(copy and paste)失效问题
- 网络闪段致slave 出错分析
- box unboxing(装箱 拆箱) C#编程指南
- python asyncio笔记
- OpenJDK 8 on Windows
- 通过调整表union all的顺序优化SQL
- JVM的内存分区
- Centos 6.7 KVM下安装windows 7系统
- hql查询实例
- TensorFlow之多核GPU的并行运算
- MachineLearningOnCoursera
- php 定时任务
- 阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容
- LCA(最近公共祖先)算法
- 从武侠中的兵器看待数据访问工具——Hibernate Spring.Data Mybatis
- [linux]signal函数不起作用
- Tomcat----->;tomcat配置虚拟主机(搭建网站)mac
- MSDN中回调函数的讲解及其C#例子:用委托实现回调函数
- java多线程(1) 线程的基本概念