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;
視圖文件的後綴也是不同的,希望大家多多注意。