2016-10-28 7 views
1

기본 controller/actionRouteConfig.cs을 어떻게 변경하면 페이지에 첫 번째 URL 세그먼트가 항상 표시됩니까? 페이지가 나는 페이지에 등 services를 인쇄 취득해야 mysite.com/services 경우는, 내가 페이지에 somepage를 인쇄 취득해야 mysite.com/somepage 경우 첫 번째 URL 세그먼트 얻기

는 그래서 URL이 mysite.com 페이지는 비어 있어야합니다.

기본 컨트롤러는 Home이고 기본 메서드 동작은 Index입니다. RouteConfig.cs에 대한

public ActionResult Index(string page = "") 
     { 
      return Content(page); 
     } 

그러나 :

나는 방법 이런 식으로 뭔가를 갈 것 같아요?

+0

'routes.MapRoute ("홈", {페이지}, 새 {컨트롤러 = "홈"행동 = "색인"});'하지만 이것은 당신을 의미한다 : 서비스의이 같은 경로를 할 것이다 이 경로 앞에 다른 모든 컨트롤러 메소드에 대한 특정 경로를 만들지 않는 한 'mysite.com/someValue' 만 탐색 할 수 있습니다. –

+0

그게 내가 원하는 것 같습니다. (이론에 의하면). 그러나 코드에서 오류가 발생합니다 : '이름 페이지가 현재 컨텍스트에 존재하지 않습니다.' – frc

+0

그 오류를 일으키는 코드는 무엇입니까? (귀하가 질문에 표시 한 것이 아닌) –

답변

1

당신은 기본 경로를 삭제하고 다음과 같이 사용자 정의 사람을 추가해야합니다 :

// Home route 
routes.MapRoute("Home", "", new { controller = "Home", action = "Index" }); 

routes.MapRoute의 두 번째 매개 변수는이 경우 비어있는 URL입니다.

// Services route 
routes.MapRoute("Services", "services", new { controller = "Some Controller", action = "Some action" }); 
+0

기본 항목을 지우고 항목을 추가했습니다. mysite.com/test에'test' 대신'HTTP Error 404.0 - Not Found'가 표시됩니다. 내 인덱스 방법은 Q. – frc

+0

홈 루트가 작동 한 것과 같습니다. – Forlani

+0

mysite.com/Home 또는 mysite/Home/Index는 무엇을 의미합니까? 그건 작동하지 않습니다. 주 URL에 추가하는 것은 무엇이든 작동하지 않습니다. – frc

관련 문제