C# 通过Global.asax.cs的MVC路由未命中模型

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

我正试图找到我的控制器,我不知道我做错了什么,这让我很恼火

Global.asax.cs 控制器 如果你看到了,你的路线应该是:

 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 });