簡體   English   中英

ASP.NET MVC中的路由

[英]Routes in ASP.NET MVC

我正在嘗試在MVC項目中路由鏈接。

我嘗試了兩種方法:

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

        //method1
       // routes.MapPageRoute("SchoolPage", "School", "~/home", false);

        //method2
        routes.MapRoute(name: "SchoolPage",url: "School", defaults: new { controller = "Home", action = "Index" });
    }

對於這兩種方法,我都會收到錯誤:

HTTP404。您正在尋找的資源(或其依賴項之一)可能已被刪除,名稱更改或暫時不可用。 請查看以下網址,並確保其拼寫正確。

您需要先指定自定義路由。 默認路由沒有限制,因此它將與任何URL匹配。 當您通過http://example.org/School發出請求時,ASP.NET MVC將使用默認路由查找名為SchoolController的控制器。 您必須先將其與SchoolPage路由匹配,方法是將其放在默認路由之前。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(name: "SchoolPage",url: "School", defaults: new { controller =     "Home", action = "Index" });

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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM