2011-02-05 5 views
0

Visual Studio에서 새 MVC 3 프로젝트를 만들 때 먼저 홈이라는 새 컨트롤러를 만든 다음 인덱스 스텁을 마우스 오른쪽 단추로 클릭하고 새보기를 만듭니다.MVC보기 도움말

제 질문은 솔루션 탐색기에서 인덱스 파일을 선택하고 솔루션을 빌드 할 때 찾을 수 없다는 오류가 나타납니다. root/Home 또는 root/Home/Index를 사용하여 페이지로 이동해도 여전히 작동하지 않습니다.

또한 MVC와 함께 제공되는 샘플 웹 사이트를 사용하여 새 프로젝트를 만들었으며 빈 솔루션과이 문제를 일으킬 수있는 샘플 솔루션간에 어떤 코드가 다른지 알 수 없습니다. global.asax에서는 홈 컨트롤러의 라우트 설정이 이미있는 것 같아 혼란 스럽습니다.

enter image description here

+0

폴더 구조 내에있는 색인 파일은 어디에 있습니까? global.asax를 수정 했습니까? –

+0

@ 로버트, 나는 홈 컨트롤러와 인덱스 스텁에서보기를 추가하는 것을 제외하고 수정을하지 않았다. –

답변

1

컨트롤러 클래스는 HomeController이어야하며 Home이 아니어야합니다. 표시된 스크린 샷에서 나는 당신이 그것을 Home이라고 불렀음을 보았습니다. 관습 적으로 ASP.NET MVC의 모든 컨트롤러 클래스는 접미사가 Controller이어야합니다.

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

당신이 사이트를 실행하고 /를 요청할 때이 HomeControllerIndex 행동을 보이는 것을 의미한다 : Global.asax에서 당신은 내용의 기본 라우팅 규칙이 있어야합니다.

+0

감사합니다. 그게 문제였습니다. –

0

나는 Microsoft 웹 개발자 2010 재현 할 수 없습니까 익스프레스, ASP.NET MVC 3, 비어있는 새 면도기 뷰 프로젝트를 생성. "보기 추가"를 선택하면 "부분보기로 만들기"를 사용할 수 있습니까? 그렇다면 문제 일 수 있습니다. "레이아웃 또는 마스터 페이지 사용"을 활성화하고 기존 마스터 페이지를 선택 했습니까? 그렇지 않다면 문제 일 수 있습니다 ...

빈 프로젝트에서 라우팅이 정상적으로 보입니다.

  • /
  • /홈
  • /홈/색인 .ZIP로

후 문제가있는 프로젝트 : 나는이 URL을 홈/인덱스보기를 참조?

+0

마스터 페이지를 선택하지 않았지만 왜 이것이 문제가되는지 알 수 없습니다. 마스터 페이지를 사용해야하는 이유는 무엇입니까? –

+0

@nick 네 말이 맞아. 나는 항상 마스터 페이지를 사용하고있는 것 같아서 자동 조종을하고 있었다. 그것은 하나없이 일하고있다. 디버그 -> 디버깅 시작을 사용하여 사이트를 컴파일하고 시작 하시겠습니까? 계속 진행해야 할 일이 많지 않으므로 .zip은 오류가있는 곳을 찾는 가장 쉬운 방법 일 것입니다. – Cymen

+0

여기에 프로젝트 파일을 게시하려면 어떻게해야합니까? 추신. 그것은 지정된 리소스를 찾을 수 없다는 디버깅과 함께, 내가 올바르게 URL을 입력 했나. 로컬 호스트와 포트 번호로 곧바로 이동합니다. –