Asp.Net Mvc控制器重名问题整理
一、关于控制器重名问题
1.没有区域的时候控制器不能重名
2.有区域的时候,外部控制器和区域中的控制器重名,访问外部控制器异常,访问区域控制器正常。
3.区域和区域之间的控制器重名,互不影响。区域从某种程度上,起到一层命名空间的作用
二、解决方案-为路由指定命名空间
routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "MVC_Base1.Controllers" } //指定控制器命名空间 );
三、解决方案,使用区域,如果外部控制器和区域控制器有重名,则为外部路由指定命名空间。
注:获取区域名称需要在路由参数的DataTokens中获取
RouteData.DataTokens["area"]= above
RouteData.Values["area"]=
RouteData.Values["controller"]= Home
RouteData.DataTokens["controller"]=
RouteData.Values["action"]= Index
RouteData.DataTokens["action"]=
更多:
分类:
Asp.Net MVC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人