2013-12-10 2 views
1

내가 MVC 프로젝트를 만드는거야 내가 로그인 한 사용자를 위해 웹 사이트 목록에 이르게 다음 링크가없이 사용자 정의 경로를 생성 :ASP.NET MVC는 대체

http://[server]/Members/Websites 

을 지금은 것 서비스 연결 페이지로 연결하는 사용자의 웹 사이트의 일부에서 새 사용자 지정 경로를 추가 할 :

"999"연결되는 웹 사이트의 ID입니다
http://[server]/Members/Websites/Connect-to-service/999 

.

routes.MapRoute(
    name: "myRoute", 
    url: "Members/Websites/Connect-to-service/{id}", 
    defaults: new { controller = "Members", action = "Connect_To_Service" } 
); 

을 지금, 나는 URL을 입력하면 "HTTP :

내가 그 유인 (기본 경로 위에 그것을 배치)에 대해 다음 경로를 정의한 // [서버]/회원/웹 사이트/Connect-to-service/999 "는 내 페이지를 잘로드합니다.

"http : // [server]/Members/Websites/Connect-to-service /"URL을 입력하면 웹 사이트 페이지가로드됩니다.

내가 "http : // [server]/Members/Websites/Connect-to-service /"를로드 할 때 "http : // [server]/Members/Websites/"(브라우저 URL에 있음) 또는 페이지를 찾을 수 없음 오류가 발생합니다.

이 작업을 수행 할 수 있습니까?

감사

답변

3

당신은 Connect_To_Service 행동이를 구성 할 수 있습니다 :

public ActionResult Connect_To_Service(int? id = null) 
{ 
    if (!id.HasValue) 
    { 
     // Either: 
     return RedirectToAction("Websites", "Members"); 

     // Or: 
     return HttpNotFound(); 
    } 

    // An id is provided. Process.. 
} 

당신은 id의 기본 값을 추가하여 경로를 변경해야 할 수도 있습니다 :

defaults: new { controller = "Members", action = "Connect_To_Service", id = UrlParameter.Optional } 
+0

이 좋은 작품! 감사 – developer82