Mvc视图引擎、寻址规则

目前MVC中用的较多的视图引擎应该是WebFormViewEngine和RazorViewEngine了。

一个Request请求首先会进入Routing进行判断,对于错误的url是不能被路由匹配到的,这时应用程序就会报出404的错误。而对于能被路由匹配到的,Controller和Action都存在但对应View未被创建的时候同样也会报错,但此时的错误是这样的:

可以看出,应用程序会根据匹配到的url去这些目录下寻找。不难看出它的(RazorViewEngine)寻址规则:

~View/{Controller}/{Action}
~View/Shared/{Action}这和WebFormViewEngine的寻址规则是一样的。

如何添加新的寻址:

只需在Application_Start()方法里面添加这些代码:

 ViewEngines.Engines.Add(new WebFormViewEngine
            {
                ViewLocationFormats = new[] { 
                    "~/Views/Shared/Test/{0}.aspx",
                    "~/Views/Shared/Test/{0}.ascx"
                }
            });

不同的视图引擎只需将类名换一下即可。

如果要更彻底的去自定义寻址规则就需要去自定义模板引擎了...待续。

转载于:https://www.cnblogs.com/surfing/p/3547645.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值