也想出现在这里?点击联系我~ 系统中对Razor的支持包括两部分,其中之一就是自定义RazorViewEngine 一、自定义RazorViewEngine 在Global.asax.cs的Application_Start方法中,注册了自定义视图引擎: ? 1 2 3 4 //remove all view engines ViewEngines.Engines.Clear(); //except the themeable razor view engine we use ViewEngines.Engines.Add(new ThemeableRazorViewEngine()); ThemeableRazorViewEngine继承ThemeableBuildManagerViewEngine, ThemeableBuildManagerViewEngine继承ThemeableVirtualPathProviderViewEngine ThemeableVirtualPathProviderViewEngine继承VirtualPathProviderViewEngine,达到对虚拟路径解析的目的。 说到ASP.NET MVC中的视图引擎(ViewEngine),就不得不说IView和IViewEngine这两个接口,要实现自定义的视图引擎就必须要实现这两个接口: IView接口:IView是对MVC结构中View对象的抽象,此接口只有一个方法:void Render(ViewContext viewContext, TextWriter writer);Render方法将页面HTML写入到Writer中供浏览器显示; IViewEngine接口:IViewEngine接口的职责是寻找View对象,编写自己的视图引擎时可以继承自IViewEngine并重写该类的FindView和FindPartialView方法,这两个方法返回一个ViewEngineResult表示搜索结果。 ASP.NET MVC提供了两个实现了IViewEngine接口的类:VirtualPathProviderViewEngine和WebFormViewEngine。VirtualPathProviderViewEngine类实现了FindView和FindPartialView这两个方法,用于根据指定的路径和格式来搜索页面文件,并且提供了Cache机制来缓存数据(由于使用的是ASP.NET Cache,依赖于HttpContext,所以无法在WebService或WCF项目中使用)。 VirtualPathProviderViewEngine寻找页面的时候,具体从哪些路径下进行寻找其实是根据该类中的这三个属性来决定的:MasterLocationFormats、ViewLocationFormats、PartialViewLocationFormats,修改这三个属性可以给我们的视图引擎分配自定义的搜索路径和文件格式。 二、自定义类WebViewPage<TModel> 此类表示呈现使用ASP.NET Razor语法的视图所需的属性和方法。 所以每一个视图都应该继承此类。但是我们在项目中是看不到此继承的,默认情况下Razor会让视图继承自System.Web.Mvc.WebViewPage<TModel>基类。也可以通过修改视图目录(每一个asp.net mvc项目下面都有一个~/Views/目录)下的web.config文件来更改默认基类,NopCommerce就是使用此方法实现自定义WebViewPage类的。除此之外也可以在视图文件中引入命名空间,但这种方法比较繁琐,除非一个项目中有个别视图需要自定义WebViewPage。 收藏 (0) 打赏 感谢您的支持,我会继续努力的! 打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在 点赞 (0) 声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。 快网idc优惠网 建站教程 NopCommerce架构分析之(六)自定义RazorViewEngine和WebViewPage https://www.kuaiidc.com/101818.html nopCommerceRazorViewEngineWebViewPage 站长 生成海报 复制本文链接 ASP.NET使用My97DatePicker日期控件实例 ASP.NET服务器控件开发(1)封装html 也想出现在这里?点击联系我~ 相关文章 猜你喜欢 发表评论 暂无评论 登录后评论 站长 QQ 微信 微信 微博 - 文章 - 浏览 - 收藏 - 评论 - 标签 - 分类 关注Ta发私信 进主页 TA的动态 快网idc优惠网 idc信息共同学习,共同进步,共同成长! QQ交流群 QQ交流群 您的支持,是我们最大的动力! 热门文章 热门评论