asp.net-core - .NET Core 3.1 MapControllerRoute 导致没有区域的 url 无法正确加载
问题描述
我有这两种路线模式:
config.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{Controller=Home}/{Action=Index}/{id?}");
config.MapControllerRoute(
name: "default",
pattern: "{Controller=Home}/{Action=Index}/{id?}");
由于我的应用程序主要使用区域,所有带有区域的 url 都可以正常工作。例子:
[Area("Configuration")]
[TypeFilter(typeof(ValidateAdministratorFilter))]
public class ApiKeyApplicationController : Controller
{
public ActionResult Index()
{
}
}
上面的 URL 在 @Url.Action 中看起来像这样:/Configuration/ApiKeyApplication/Index only
但是,如果我有一个没有区域的 url,如下所示:
[Route("/[controller]")]
[Authorize]
public class ConfirmController : Controller
{
public ActionResult ConfirmDetails()
{
return View("~/Views/Modals/ConfirmDetails.cshtml");
}
}
上面的 URL 在 @Url.Action 中看起来像这样:仅 /Confirm
如果我尝试将其设置为 /Confirm/ConfirmDetails,它将显示 404 错误
这是因为我的路由吗?
解决方案
你只需要删除你的路线ConfirmController
删除这个:
[Route("/[controller]")]
或者您可以将其更改为:
[Route("[controller]/[action]")]
推荐阅读
- r - 模拟带有漂移的随机游走(使用 for 循环)
- python - 循环列表 n 次
- php - 自定义帖子类型存档页面不显示内容
- javascript - 做什么
从 react-router-dom forceRefresh 做什么? - java - Android 上的 HttpURLConnection
- javascript - 插入 mariadb 时获取未定义的变量
- wordpress - 我只想显示在 url 上选择了分类的帖子
- python - python中PDF中的额外svg和文本
- physics-engine - 对象在 Matter-js 引擎中下降太快
- json - 授权错误错误400:redirect_uri_mismatch请求中的重定向URI,在.net core3.1中