Asp.net mvc详细信息方法

| 我正在使用默认路由的项目中工作
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
        );
我有一个用户控制器和方法,如索引,创建和详细信息 我不想创建类似http:// mysite / users / details / 111 / somename的链接 相反,我想创建http:// mysite / users / 111 / somename 像stackoverflow这样的网址。 我知道我可以通过注册这样的路由来实现(在默认路由之前)
routes.MapRoute(
            \"UsersDetails\",                                              // Route name
            \"Users/{id}/{name}\",                           // URL with parameters
            new { controller = \"Users\", action = \"Details\", id = UrlParameter.Optional, name = UrlParameter.Optional }  // Parameter defaults
        );
但后来我所有其他网址开始造成问题。例如,如果我有网址 http:// somesite / users / registersuccess 是否有解决此问题的方法,或者我应该注册所有URL。 问候 策划者     
已邀请:
您需要为您的路线的a2ѭ参数设置约束:
routes.MapRoute(
    \"UsersDetails\",
    \"Users/{id}/{name}\",
    new { controller = \"Users\", action = \"Details\", id = UrlParameter.Optional, name = UrlParameter.Optional }, 
    new { id=\"\\d+\" }
    );
这样您的其他路线就不会受到影响。     

要回复问题请先登录注册