在MVC4中设置默认控制器

3

如何在MVC4中设置默认控制器?

我尝试将下面的代码添加到Global.ascx中,但它显示“只有赋值、调用、增量、减量和新对象表达式可以用作语句”,似乎找不到“route”,我把它放错地方了吗?

routes.MapRoute(
        "Default", 
        "{controller}/{action}/{id}", 
        new { controller = "Home", action = "Index", 
        id = UrlParameter.Optional }
);

以下是屏幕截图: 输入图像描述
4个回答

3
请查看App_Start/RouteConfig.cs文件。这是您能够按照自己的方式配置路由的位置。
在那里,您会发现类似于以下代码的内容:
public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }

3

1
建议使用RouteConfig的答案是正确的,但有点误导人。 RouteConfig并没有什么神奇之处;它只是一个类,你可以按照约定创建、命名和定位。
重要的部分是你通常传递给RouteConfig的内容:RouteTable.Routes 路由表在ASP.Net应用程序中的任何地方都可用。例如,你可以说:
protected void Application_Start()
{
    RouteTable.Routes.MapRoute( "myroute", "apples", new { controller = "Foo", action = "Bar" } );
}

它可以正常工作。当然,你应该只在启动时初始化路由,并遵循RouteConfig的约定以保持一致性。

但了解它为什么有效是值得的。


0
请在您的RouteConfig.cs文件中进行更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接