java开发路由配置_.NetCore MVC 3.0 项目 区域路由配置及使用

本文介绍了.NetCore MVC 3.0项目中的区域路由配置及使用方法,包括如何在Configure方法中添加区域路由,创建Areas文件夹并建立Users区域模块,以及如何在控制器中应用路由属性实现不同层级的访问。通过示例展示了默认控制器与区域控制器的访问对比,帮助理解区域路由的工作原理。
摘要由CSDN通过智能技术生成

原文:

.NetCore MVC 3.0 项目 区域路由配置及使用

参考文档:

https://www.cnblogs.com/Allen0910/p/6629507.html

https://blog.csdn.net/dupeng0811/article/details/90616546

首先需要在 Configure 方法中的默认路由配置下边添加区域路由配置

get-article-detail-187881.html

1 app.UseEndpoints(endpoints =>

2 {3 endpoints.MapControllerRoute(4 name: "default",5 pattern: "{controller=Home}/{action=Index}/{id?}");6

7 //区域路由配置

8 endpoints.MapAreaControllerRoute(9 name: "areas", "areas",10 pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");11

12 });

get-article-detail-187881.html

项目中默认控制器里分别有HomeController 和 TestController 两个控制器及View视图,待会儿添加区域模块之后,要和这两个默认的控制器做访问对比

62952be4fd135ffd102e8e184b7db55a.png

然后接下来需要手动添加一个文件夹, 名字:Areas (必须用这个名字),在该文件夹下创建一个 Users 区域模块,结构如下

2420f6d5071b4d841b3332402e0e9ee4.png

在模块下添加一个基类BaseController,在基类的头部声明路由属性[Route("[area]/[controller]/[action]")] ,这样以后扩展就比较方便了

f790f93b4b1ccdba68c6174586fb9b95.png

代码如下:

1 [Route("[area]/[controller]/[action]")]2 public classBaseController : Controller3 {4

5 }

然后再添加一个区域控制器AreaController,用于继承上边的基类 BaseController

c8a165f5764a0576d9d79ed3feae0dcf.png

在区域控制器AreaController 中添加属性标签  [Area("users")]

1 [Area("users")]2 public classAreaController : BaseController3 {4

5 }

然后再区域中添加的控制器都继承该区域控制器

get-article-detail-187881.html

1 public classTestController : AreaController2 {3 publicIActionResult Index()4 {5 returnView();6 }7 }8

9 public classHomeController : AreaController10 {11 publicIActionResult Index()12 {13 returnView();14 }15 }

get-article-detail-187881.html

接下了开始运行访问刚才创建的页面,

默认访问的是默认控制器下的首页,即:默认的 Home/Index

0451d01a905354edf03557d9990d4a7e.png

换成:test/index 则调到如下图所示页面

b750770b05c71ac35048efe6fb6e1ad1.png

在地址栏输入: /users/home/index ,页面跳转到区域模块了

342fef2a5f8c1cbe785e4b9d671df134.png

换成路径: /users/test/index则出现下边页面

bc8c69d40d4338d6a03635636b3b88af.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值