MVC设定默认路由为指定的Area下的某个action
作者:chenqiangdage 发布时间:2023-03-03 00:00:56
标签:mvc,area,action
MVC中,一般的情况下,使用IDE工具帮我们生成的代码,在路由注册的时候:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "WebShow", action = "List", id = UrlParameter.Optional }
);
}
默认给的路由地图 我们在default:中去配置 默认是又那个控制器返回action。
这样形如:http://localhost:1450/ 这样,会默认使用默认的view文件夹中去找对应的响应model页面;
但是当项目规模庞大,使用了MVC提供的Area模块快的规划,又要让Area块下某一个页面作为默认页面时,那就需要把route默认的路由去转到我们指定Area下;要用到RouteCollection 的DataTokens方法。
举个例子:Area下有注册一个Admin块
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Login", action = "Index", id = UrlParameter.Optional } //默认路径是Login控制器,和Index action
);
}
}
如果要让默认到admin下指定的。那么RegisterRoutes方法需要给routes路由到area 下的Admin块;
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Login", action = "Index", id = UrlParameter.Optional }, //这里要和Admin块下的默认控制器和action一样
new[] { "GTA.CMS.Site.Web.Areas.Admin.LoginController" }// 这个是你控制器所在命名空间
).DataTokens.Add("area","Admin");
}
来源:https://blog.csdn.net/chenqiangdage/article/details/48136601
0
投稿
猜你喜欢
- 网上很多资料在描述Java内存模型的时候,都会介绍有一个主存,然后每个工作线程有自己的工作内存。数据在主存中会有一份,在工作内存中也有一份。
- 什么是EurekaNetflix Eureka 是一款由 Netflix 开源的基于 REST 服务的注册中心,用于提供服务发现功能。Spr
- 这篇文章主要介绍了SpringBoot集成MybatisPlus报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定
- 一、直接插入排序基本思想:将一个记录插入到已排序的有序表中,使插入后的表仍然有序对初始关键字{49 38 65 97 76 13 27 49
- 一、项目简述本系统功能包括:分为前端翻后端部分,包括用户,区分晋通用户以及誉里员用户,包括首页展示,部门管理,人事管理,员工管理三个模块等等
- 先说下 需要的依赖包<dependency> <groupId>org.ap
- 1.基本知识介绍首先,C#中的.net的常用对话框中没有映射网络驱动映射对话框,所以需要用windows的API函数去实现弹出映射网络驱动器
- Spring Boot CLI是Spring Boot项目提供的一个用于快速运行Spring Boot应用的命令行工具,通过结合Groovy
- 以下是代码:package cn.study.concurrency.ch11;/** * 锁分段 * @author xiaof * */
- 本文实例为大家分享了Java实现简单万年历的具体代码,供大家参考,具体内容如下1 要求1、输入年份;2、输入月份;3、输出某年某月的日历。2
- 介绍装饰者模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,增加对象功能来说,装饰模式比生成子类实现更为灵活。
- 稳定度(稳定性)一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前
- 其实写到这里,我已经差不多断气了。。。常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器
- 简介使用配置类和注解代替web.xml和SpringMVC配置文件的功能在Servlet3.0环境中,容器会在类路径中查找实现javax.s
- 方式一public class Test{ public static void main(String[] args) throws Ex
- log4j配置失效日志中打印Debug信息最近发布项目的时候发现控制台打印的日志较往常多了很多,仔细一看,debug和info信息也赫然在列
- 大家都知道protobuf好用,可是在网上找到的netty整合protobuf的文章都是千篇一律,自己编写proto文件然后使用工具转jav
- Unity脚本自动添加头部注释就是创建.cs文件时自动添加作者名,创建时间,文件名等看示例,我们在Unity的project面板下先创建一个
- 一、常量用final修饰(也称最终变量)常量在声明时必须赋初值,赋值后不能再修改值常量名通常用全大写字母表示声明时需要添加final或sta
- 本文实例为大家分享了Java实现斗地主游戏的具体代码,供大家参考,具体内容如下原理图:斗地主过程: 1、组合牌&nb