ASP.NET MVC2 修改视图的默认路径
步骤:1、编写继承自WebFormViewEngine的类,重写视图路径
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());
RegisterRoutes(RouteTable.Routes);
} public class MvcViewEngine : WebFormViewEngine
{
public MvcViewEngine()
{
base.MasterLocationFormats = new string[] { "~/Views/{1}/{0}.master", "~/Views/Shared/{0}.master" };
base.ViewLocationFormats = new string[] {
"~/Views/Books/{1}/{0}.aspx",
"~/Views/Books/{1}/{0}.ascx",
"~/Views/Shared/{0}.ascx",
"~/Views/{1}/{0}.aspx"};
base.PartialViewLocationFormats = base.ViewLocationFormats;
}
}
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;
视图文件的后缀也是不同的,希望大家多多注意。