문제

릴리스 후보에서 MVC 사용자 컨트롤을 작성하려고 시도하면 CodeBehind 파일로 하나를 만드는 것을 볼 수 없습니다. MVC보기 페이지에서도 마찬가지입니다.

베타에서 뷰를 만들면 코드 비유가 생성됩니다 ... 내가 뭔가 빠졌습니까?

도움이 되었습니까?

해결책

MVC 프레임 워크의 목적을 물리칩니다. 기능은보기와 분리되어야하며 MVC 팀은 페이지 뒤의 코드 가이 이데올로기에 반대하여 제거했다고 생각했습니다.

당신은 당신의 컨트롤을 만들기 위해 사용자 정의 도우미 방법을 만들 수 있습니다. 또한 MVC에 View 구성 요소 (Monorail/Castle)가 있는지 확실하지 않지만 옵션이 될 수 있습니다.

다른 팁

에서 Scottgu의 블로그 게시물:

*피드백을 기반으로 코드-비만 파일이없는보기 기본적으로 Code-BeHind 파일이없는 뷰 테드 플레이트를 변경했습니다. 이 변경은 MVC 응용 프로그램 (순전히 렌더링 및 비 렌더링 관련 코드를 포함하지 않도록 의도 된)에서 뷰의 목적을 강화하는 데 도움이되며 대부분의 사람들은 프로젝트에서 사용되지 않은 파일을 제거합니다. RC 빌드는 이제 제네릭을 사용하는 기본 클래스에서 뷰 템플릿을 상속하기위한 C# 및 VB 구문 지원을 추가합니다. 예를 들어, 아래는 edit.aspx view 템플릿과 함께 사용하고 있습니다.

코드-비만 파일을 사용하지 않으면 좋은 장점 중 하나는 프로젝트에 추가 할 때 뷰 템플릿 파일 내에서 즉각적인 Intellisense를 얻을 수 있다는 것입니다. 이전 빌드를 사용하면 Code Intellisense를 얻기 위해보기를 작성한 직후 빌드/컴파일을 수행해야했습니다. RC는 뷰를 추가하고 즉시 편집하는 워크 플로우 컴파일이없고 훨씬 더 완벽합니다.

중요 : 이전 빌드로 작성된 ASP.NET MVC 프로젝트를 업그레이드하는 경우 릴리스 노트의 단계를 따라야합니다. 위의 제네릭 기반 구문이 작동합니다.*

나는이 질문에 대답했다 여기:

부분보기에 코드-비만 페이지를 추가하는 방법

이것은 특히 까다 롭지 않은 것 같습니다.

확인.

첫째 : .cs (예 : View.ascx.cs)의 컨벤션과 함께 클래스 파일 추가

둘째 : "System.Web.MVC 사용"추가 수업에

셋째 : "ViewUserControl <>"에서 상속되도록 클래스를 변경하십시오.

넷째 : View의 헤더에 다음을 추가하십시오.

CodeBehind="View.ascx.cs" Inherits="Project.Views.Shared.View"

다섯 번째 : 솔루션에서 파일을 복사하고 다시 드래그하여 두 사람을 함께 재평가합니다.

참고 : 이것이 일반적인 MVC보기로 작동하려면 "ViewPage"에서 클래스를 상속하면됩니다.

ASP.NET-MVC에 대한 전체 아이디어는 CodeBehind 파일을 제거하는 것이 었습니다 ... 그래서 ASP 웹 컨트롤은 대부분 작동하지 않았지만 코드를 제거하는 것이 다른 프로그래밍과 함께 제공됩니다. 스타일 .. 아이디어는 CodeBehind 파일입니다.

http://stevesmithblog.com/blog/codebehind-files-in-asp-net-mvc-are-evil/

전체 아이디어는 사람들이 ASP.ET 웹 페이지가 아닌 ASP.NET-MVC를 사용하고 있다는 것을 기억하도록하는 것입니다. 이 링크를 살펴보면 조금 더 잘 설명합니다.

http://blog.lozanotek.com/archive/2008/10/20/visual_studio_templates_for_mvc_views_without_codebehind_files.aspx

제 생각에는 이 튜토리얼 당신이 묻는 것입니다 .. 그러나 당신이 원하는 것이 무엇인지 확실하지 않습니다 ..

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top