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

参考文档:

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

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

 

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

 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             });

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

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

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

代码如下:

1     [Route("[area]/[controller]/[action]")]
2     public class BaseController : Controller
3     {
4 
5     }

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

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

1     [Area("users")]
2     public class AreaController : BaseController
3     {
4 
5     }

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

 1     public class TestController : AreaController
 2     {
 3         public IActionResult Index()
 4         {
 5             return View();
 6         }
 7     }
 8 
 9     public class HomeController : AreaController
10     {
11         public IActionResult Index()
12         {
13             return View();
14         }
15     }

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值