繁体   English   中英

在MVC4中设置默认控制器

[英]Set default controller in MVC4

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

我已经尝试将以下代码添加到Global.ascx但它说“只有赋值,调用,递增,递减和新对象表达式可以用作语句”,似乎找不到“路由”,我把它放在错误的地方?

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

以下是截图: 在此输入图像描述

看一下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 }
            );
        }
    }

您需要将此代码放在RouteConfig.cs下的App_Start

检查ASP.NET MVC 4:Global.asax路由何去何从?

建议使用RouteConfig的答案是正确的,但有点误导。 RouteConfig没有什么神奇之处; 它只是一个按照惯例创建,命名和定位的类。

重要的部分是您通常传递RouteConfigRouteTable.Routes

路径表可从ASP.Net应用程序中的任何位置获得。 例如,您可以说:

protected void Application_Start()
{
    RouteTable.Routes.MapRoute( "myroute", "apples", new { controller = "Foo", action = "Bar" } );
}

它会工作得很好。 当然,您应该只在启动时初始化路由并遵循RouteConfig的约定以保持一致性。

但值得知道它为什么会起作用。

请在RouteConfig.cs文件中更改它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM