簡體   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