簡體   English   中英

MVC 路由 URL 到區域控制器

[英]MVC Route URL to Area controller

嗨,我想使用此 URL siteurl/admin路由到我的siteurl/admin (在管理區域內)。 我在RegisterArea(AreaRegistrationContext context)函數中的代碼:

    context.MapRoute(
                    "Admin_1", 
                    "Admin", 
                    new { controller = "AdminLogin", action = "Index" }        
                );
    
//    the default route map

    context.MapRoute(
                    "Admin_default",
                    "Admin/{controller}/{action}/{id}",
                    new { controller="AdminLogin", action = "Index", id = UrlParameter.Optional}
                );

但是,我只能通過siteurl/Admin/AdminLogin siteurl/Admin而不是siteurl/Admin轉到我想要的頁面。

如果我將自定義路線更改為:

context.MapRoute(
                "Admin_1", 
                "", 
                new { controller = "AdminLogin", action = "Index" }        
            );

然后我可以在使用 url siteurl/時轉到我想要的頁面( siteurl/索引頁面)。

如何自定義 MapRoute 以使用siteurl/Admin轉到我的頁面?

我試圖在一個只有家庭和管理員登錄控制器的空白項目中復制它,但似乎以下路線應該按預期工作:

context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller="AdminLogin", action = "Index", id = UrlParameter.Optional}
        );

您遇到的問題很可能是由於訂單造成的,就好像放在默認路由之后一樣,它失敗了,因為當提供“siteurl/Admin”時,它將首先匹配默認路由。

暫無
暫無

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

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