萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> .net編程 >> ASP.NET MVC 修改視圖的默認路徑(MVC2,MVC3)的方法

ASP.NET MVC 修改視圖的默認路徑(MVC2,MVC3)的方法

class="area">                ASP.NET MVC 修改視圖的默認路徑(MVC2,MVC3)的方法:

ASP.NET MVC2 修改視圖的默認路徑

步驟:1、編寫繼承自WebFormViewEngine的類,重寫視圖路徑

2、在Application_Start()中添加語句:

ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new MvcViewEngine());
復制代碼
 1 protected void Application_Start()
 2 {
 3     AreaRegistration.RegisterAllAreas();
 4     ViewEngines.Engines.Clear();
 5     ViewEngines.Engines.Add(new MvcViewEngine());
 6     RegisterRoutes(RouteTable.Routes);
 7 }
 8 
 9 public class MvcViewEngine : WebFormViewEngine
10 {
11     public MvcViewEngine()
12     {
13         base.MasterLocationFormats = new string[] { "~/Views/{1}/{0}.master", "~/Views/Shared/{0}.master" };
14         base.ViewLocationFormats = new string[] { 
15         "~/Views/Books/{1}/{0}.aspx",
16          "~/Views/Books/{1}/{0}.ascx",
17          "~/Views/Shared/{0}.ascx",
18          "~/Views/{1}/{0}.aspx"};
19         base.PartialViewLocationFormats = base.ViewLocationFormats;
20     }
21 }
復制代碼

 

ASP.NET MVC3 修改視圖的默認路徑

步驟:1、編寫繼承自RazorViewEngine的類,重寫視圖路徑

2、在Application_Start()中添加語句:

ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new MvcViewEngine());
復制代碼
protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    ViewEngines.Engines.Clear();
    ViewEngines.Engines.Add(new MvcViewEngine());

    RegisterGlobalFilters(GlobalFilters.Filters);
    RegisterRoutes(RouteTable.Routes);
}

public class MvcViewEngine : RazorViewEngine
{
    public MvcViewEngine()
    {
        MasterLocationFormats = new[] {"~/Views/Shared/{0}.cshtml"};
        ViewLocationFormats = new[]
        {
            "~/Views/Admin/{1}/{0}.cshtml",
            "~/Views/{1}/{0}.cshtml",
            "~/Views/Shared/{0}.cshtml"
        };
        PartialViewLocationFormats = ViewLocationFormats;
    }
}
復制代碼

大家注意一下這兩版本的區別,MVC2自定義的類繼承自 WebFormViewEngine,MVC3自定義的類繼承自RazorViewEngine;

視圖文件的後綴也是不同的,希望大家多多注意。

copyright © 萬盛學電腦網 all rights reserved