C# 通过Global.asax.cs的MVC路由未命中模型
我正试图找到我的控制器,我不知道我做错了什么,这让我很恼火 Global.asax.cs 控制器 如果你看到了,你的路线应该是:C# 通过Global.asax.cs的MVC路由未命中模型,c#,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 5,我正试图找到我的控制器,我不知道我做错了什么,这让我很恼火 Global.asax.cs 控制器 如果你看到了,你的路线应该是: routes.MapRoute( name: "Default", url: "Groups/{groupName}/{sectionName}", defaults: new { controller = "GroupSections", action
routes.MapRoute(
name: "Default",
url: "Groups/{groupName}/{sectionName}",
defaults: new
{
controller = "GroupSections",
action = "Details",
groupName = "",
sectionName = ""
}
void registerOutes(RouteCollection routes)
不应该在asax中,它应该在RouteConfig
静态类中
RouteConfig.cs
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
//your route config.
}
}
编辑:另外,如Brian Mains
answer中所述,您的路线应该类似于:
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
括号中的名称映射到defaults对象中的值。是否将registerOutes从RouteConfig类移动到Global.asax?为什么?无论如何,也许你应该把它移回它自己的类,并确保该方法是静态无效的。你在尝试什么url?啊,等等,这没有击中我的控制器Rok,你能发布需要运行的操作方法的签名吗?更新的问题,控制器上有一个断点,它仍然没有击中它是的,为此干杯。我不知道MVC5和MVC4的姿势有什么不同
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
//your route config.
}
}
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });