ASP.NET MVC 修改视图的默认路径(MVC2,MVC3)

本文详细介绍了如何在ASP.NET 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

视图文件的后缀也是不同的,希望大家多多注意。

 

转载于:https://www.cnblogs.com/judgelee/p/3363810.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值