Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则

本文介绍了如何在ASP.NET MVC中实现多级控制器和路由重写,以提升项目的可读性和组织性。通过调整路由配置,使得能够访问如Admin/Test/Index的URL,并详细阐述了视图查找规则,包括Razor视图的通配符地址。为了解决多级Views目录的问题,创建了一个名为MyViewEngine的自定义视图引擎,继承自RazorViewEngine,并在全局注册以改变视图查找规则,实现了期望的目录结构和页面访问方式。
摘要由CSDN通过智能技术生成

asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来存放。

1.那么我们再来看我们需要的访问方式,如下图

      如果我们要访问Admin下的TestController里面的Index页面,那么我们输入Test/Index,这个肯定不行的。因为TestController根本就不在Controllers的根目录下,而是在Controllers/Admin下,这样我们根本就找不到Test这个Controller。那么我们输入Admin/Test/Index,那么我们就需要添加一个路由配置了,因为以前的默认路由只能通过{Controller}/{Action}/{Id}这种方式访问,就是必须以Controller开头。我们重新配置的路由如下:

复制代码
public static void RegisterRoutes(RouteCollection routes)
         {
             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
             
             //路由规则匹配是从上到下的,优先匹配的路由一定要写在最上面。因为路由匹配成功以后,他不会继续匹配下去。
             routes.MapRoute(
                "Admin", // 路由名称,这个只要保证在路由集合中唯一即可
                &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值