2016-08-22 72 views
1

我在asp.net mvc應用程序中配置我的路由,其中​​有多條路由,只有第一條和最後一條路由工作,但在我的route.config中心定義了路由文件不起作用。以下是代碼:無法在我的ASP.NET MVC應用程序中正確配置路由

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute(
     name: "Doctor", 
     url: "admin/doctor/{action}/{id}", 
     defaults: new { controller = "admin", action = "AddDoctor", id = UrlParameter.Optional } 
     ); 
    routes.MapRoute(
     name: "Admin", 
     url: "admin/{action}/{id}", 
     defaults: new { controller = "admin", action = "Login", id = UrlParameter.Optional } 
     ); 

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

} 
+1

我認爲你必須通過控制器的名稱把它象下面這樣: 'routes.MapRoute( 名稱: 「管理」, 網址:「管理/ {控制器}/{action}/{id}「, 默認值:new {controller =」admin「,action =」Login「,id = UrlParameter.Optional} );' –

+0

Thanks @SunilKumar。你是對的。問題修復:) –

+0

太棒了:) –

回答

0

看來你忘了你的Admin路線的controller一部分。

你應該如下定義它:

routes.MapRoute(
    name: "Admin", 
    url: "admin/{controller}/{action}/{id}", 
    defaults: new { controller = "admin", action = "Login", id = UrlParameter.Optional } 
    );