Asp.net mvc详细信息方法

Asp.net mvc详细信息方法,asp.net,asp.net-mvc,routing,asp.net-mvc-routing,Asp.net,Asp.net Mvc,Routing,Asp.net Mvc Routing,我正在一个项目中工作,在那里我使用了默认路由 routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}/{name}", // URL with parameters new { controller =

我正在一个项目中工作,在那里我使用了默认路由

routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}/{name}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional, name = UrlParameter.Optional }  // Parameter defaults
        );
我有一个用户控制器和方法,如索引、创建和详细信息

我不想创建像这样的链接 相反,我想创建 像stackoverflow这样的url。 我知道我可以通过注册这样的路由来实现(在默认路由之前)

但是,我的所有其他URL开始产生问题。例如,如果我有url

是否有解决此问题的方法,或者我应该注册所有URL

问候


Parminder

您需要对路线的
id
参数进行约束:

routes.MapRoute(
    "UsersDetails",
    "Users/{id}/{name}",
    new { controller = "Users", action = "Details", id = UrlParameter.Optional, name = UrlParameter.Optional }, 
    new { id="\d+" }
    );
这样你的其他路线就不会受到影响

routes.MapRoute(
    "UsersDetails",
    "Users/{id}/{name}",
    new { controller = "Users", action = "Details", id = UrlParameter.Optional, name = UrlParameter.Optional }, 
    new { id="\d+" }
    );