2017-11-02 1 views
-1

컨트롤러 전에 사용자의 사용자 이름을 설정하기 위해 내 응용 프로그램을 만드는 여러 가지 코스 경로가 있습니다. 또한 나는 이름 후 어떤 컨트롤러를 보여주고 싶은 : 예를 들어ASP MVC 제복 경로를 만들다

이 제외 제대로이 경우

 routes.MapRoute(
      name: "profile", 
      url: "{name}/profile/{action}", 
      defaults: new { controller = "profile", action = "Index" } 
     ); 

     routes.MapRoute(
      name: "Activity", 
      url: "{name}/Activity/{action}", 
      defaults: new { controller = "Activity", action = "Index" } 
     ); 

    /*********** PROJECT OTHER ROUTE****************/ 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

     routes.MapRoute(
      name: "Default1", 
      url: "{controller}/{action}/{parametr1}/{parametr2}/{parametr3}", 
      defaults: new { controller = "Home", action = "Index", parametr1 = "1", parametr2 = UrlParameter.Optional, parametr3 = UrlParameter.Optional } 
     ); 

모든 URL의 작품 : 로컬 호스트 여기

localhost:44303/johndoe //it should show profile > index 
localhost:44303/johndoe/Profile 
localhost:44303/johndoe/Profile/Index 
localhost:44303/johndoe/Profile/Setting 
localhost:44303/johndoe/Activity 
localhost:44303/johndoe/Activity/Index 
localhost:44303/johndoe/Activity/Setting 

내 경로 설정입니다 : 44303/johndoe

나는 The resource cannot be found. 오류가 발생합니다.

나는 경로 아래에 추가하지만 새로운 문제는 localhost:44303 같은 다른 경로에 출연했다 :

 routes.MapRoute(
      name: "username", 
      url: "{name}", 
      defaults: new { controller = "Profile", action = "Index", } 
     ); 

가 어떻게이 문제를 해결할 수 있습니까? 내 주요 문제는 몇 가지 URL을 같은 것입니다 localhost:44303/johndoe

+0

'username' 경로와 일치하는 URL은 모두 'Default' 경로와 일치합니다. 'Default' 라우트 뒤에'username' 라우트 *를 놓으면 우선 순위가 낮아서 결코 일치하지 않을 것입니다. – Dai

+0

이 작업을 수행하지만 여전히 동일한 문제가 있습니다. – user3748973

답변

0

그것은 빠져 있어야하고 기본 경로를 치고 있어야합니다. 프로필/색인으로 이동하려면 기본값을 설정하십시오.