MVC路由误解
本文关键字:误解 路由 MVC | 更新日期: 2023-09-27 18:25:06
我正在开发一个ASP.NET MVC应用程序。出于某种原因,每次我认为我理解路由时,都会弹出一些我不理解的东西。目前,我有两条路线似乎无法确定。我的目录结构看起来像下面的
- Views
- Internal
- Profile
- Index.cshtml
- Input
- Page1.cshtml
在我的global.asax.cs文件中,我添加了以下映射:
routes.MapRoute(
"UserProfileInfo",
"{controller}/profile",
new { controller = "Internal", action = "UserProfileInfo" }
);
routes.MapRoute(
"Page1",
"{controller}/input/page1",
new { controller = "Internal", action = "Page1" }
);
在MyController中,我有以下内容:
public ActionResult UserProfileInfo()
{
return View("~/Views/internal/profile/Index.cshtml");
}
public ActionResult Page1()
{
return View("~/Views/internal/input/Page1.cshtml");
}
我想将我的操作存储在一个控制器中。我以为我把一切都安排好了。但我还是得了404分。我做错了什么?
在对MapRoute的调用中删除控制器名称的"Controller"后缀,以创建到名为InternalController
的类的映射。当寻找匹配的实现时,框架会附加Controller后缀。例如:
routes.MapRoute(
"UserProfileInfo",
"{controller}/profile",
new { controller = "Internal", action = "UserProfileInfo" }
);