2013-01-23 2 views
1

저는 ASP.NET MVC 4와 함께 작업 중이며 정말 기본적인 경로를 작성하려고 시도하고 있지만 작동하지 않고 매우 좌절하고 있습니다!간단한 ASP.NET MVC 경로 설정

나는 페이지라는 컨트롤러와 액션 메소드 지수을 트리거하는 URL http://www.mywebsite.com/my-page를 원한다.

나는이 떨어져 다른 경로 설정이없는 내 설치 또는 내가 잘못 가고와 잘못된 뭔가

RouteTable.Routes.MapRoute(
    name: "Default", 
    url: "my-page", 
    defaults: new { controller = "Page", action = "Index" } 
); 

있습니까?

내가 오류는 다음과 같습니다

'/ 내 페이지'경로에 대한 컨트롤러를 찾을 수 없습니다 또는 IController를 구현하지 않습니다.

+0

이것은 기본 MVC 웹 사이트에서 정상적으로 작동합니다. 전체 RouteConfig를 보여줄 수 있습니까? –

+0

경로가 좋아 보인다. 컨트롤러 클래스를 게시물에 추가하십시오. –

답변

0

주요 문제는 기본 경로를 재정의하려는 것입니다. MVC4에서 경로는 App_Start/RouteConfig.cs에 정의됩니다.

 routes.MapRoute(
      name: "MyPage", 
      url: "my-page", 
      defaults: new { controller = "Page", action = "Index" } 
     ); 

Fianlly, 당신이 컨트롤러 PageController.cs을 확인하십시오

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

그런 다음, 특정 경로를 들어, 기본 경로 전에 다음을 사용 : "기본"경로는 최종 경로해야한다 액션 인덱스 및 뷰보기/페이지/Index.cshtml :

public class PageController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 
}