【问题标题】:Unable to Configure Routes Properly in my ASP.NET MVC app无法在我的 ASP.NET MVC 应用程序中正确配置路由
【发布时间】:2016-12-28 15:22:44
【问题描述】:

我在 asp.net mvc 应用程序中配置我的路由,其中​​有多个路由,只有第一个和最后一个路由有效,但在我的 route.config 文件中心定义的路由不起作用。以下是代码:

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

}

【问题讨论】:

  • 我认为您必须将控制器名称传递给它,如下所示:routes.MapRoute( name: "Admin", url: "admin/{controller}/{action}/{id}", defaults: new { controller = "admin", action = "Login", id = UrlParameter.Optional } );
  • 谢谢@SunilKumar。你是对的。问题已解决:)

标签: c# asp.net asp.net-mvc routes asp.net-mvc-routing


【解决方案1】:

您似乎忘记了Admin 路由中的controller 部分。

你应该如下定义它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    相关资源
    最近更新 更多