zoukankan      html  css  js  c++  java
  • NopCommerce架构分析之六------自定义RazorViewEngine

    系统中对Razor的支持包括两部分,其中之一就是自定义RazorViewEngine

    一、自定义RazorViewEngine

    在Global.asax.cs的Application_Start方法中,注册了自定义视图引擎:

    [csharp] view plain copy
     
    1. //remove all view engines  
    2. ViewEngines.Engines.Clear();  
    3. //except the themeable razor view engine we use  
    4. ViewEngines.Engines.Add(new ThemeableRazorViewEngine());  


    ThemeableRazorViewEngine继承ThemeableBuildManagerViewEngine,

    ThemeableBuildManagerViewEngine继承ThemeableVirtualPathProviderViewEngine

    ThemeableVirtualPathProviderViewEngine继承VirtualPathProviderViewEngine,达到对虚拟路径解析的目的。

    二、自定义类WebViewPage<TModel>

    此类表示呈现使用ASP.NET Razor语法的视图所需的属性和方法。

    所以每一个视图都应该继承此类。但是我们在项目中是看不到此继承的,默认情况下Razor会让视图继承自System.Web.Mvc.WebViewPage<TModel>基类。也可以通过修改视图目录(每一个asp.net mvc项目下面都有一个~/Views/目录)下的web.config文件来更改默认基类,NopCommerce就是使用此方法实现自定义WebViewPage类的。除此之外也可以在视图文件中引入命名空间,但这种方法比较繁琐,除非一个项目中有个别视图需要自定义WebViewPage。

  • 相关阅读:
    codeforces 407B Long Path
    CodeForces 489C Given Length and Sum of Digits...
    hacker cup 2015 Round 1 解题报告
    hacker cup 2015 资格赛
    Codeforces 486(#277 Div 2) 解题报告
    POJ 3468 A Simple Problem with Integers splay
    Codeforces 484(#276 Div 1) D Kindergarten DP
    求平均值问题201308031210.txt
    I love this game201308022009.txt
    QQ
  • 原文地址:https://www.cnblogs.com/Alex80/p/5369035.html
Copyright © 2011-2022 走看看