2016-08-22 51 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 } 
    ); 
相关问题