2011-05-02 5 views
1
내가
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 
     ); 

Asp.net MVC 방법

내가 색인 같은 사용자 제어 장치 및 방법을 라우팅의 기본을 사용한 프로젝트, 일하고

작성, 세부 사항 및 세부 사항

나는 돼요 http://mysite/users/details/111/somename 대신에 나는 http://mysite/users/111/somename 와 같은 URL을 생성하고 싶습니다. stackoverflow kind of url. 내가 (기본 경로 전에)이 같은 경로를 등록하여

routes.MapRoute(
      "UsersDetails",            // Route name 
      "Users/{id}/{name}",       // URL with parameters 
      new { controller = "Users", action = "Details", id = UrlParameter.Optional, name = UrlParameter.Optional } // Parameter defaults 
     ); 

을 달성 할 수 있지만, 모든 내 다른 URL이 문제를 만들기 시작 알고있다. 예를 들어 URL이있는 경우 http://somesite/users/registersuccess

이 문제의 해결 방법이 있습니까? 아니면 모든 URL을 등록해야합니다.

감사

Parminder는

답변

0

당신은 당신의 경로에 대한 귀하의 id 매개 변수에 대한 제약 조건을 필요할 것 :

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

이 그런 다음 다른 경로가 영향을받지 않습니다.

+0

감사합니다. – Parminder