2010-12-08 2 views
2

http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspxMicrosoft는 MVC에서 MasterPages를 제거 할 계획이 있습니까?

게시물을 조금 읽은 후 MVC 팀이 MasterPage 기능을 대체하려고합니다. 이 코드는 나에게 깨끗해 보입니다. 의심 할 여지없이이 코드를 사용합니다 (MVC3은이 글을 게시하면서 다운로드 중입니다).

이것에 대한 의견이 있습니까? Webforms에 대한 경험이 많지 않으므로 마스터 페이지 기능이 향상되었습니다.

공유해 주셔서 감사합니다.

+0

아니요. 새로운 개념의 뷰 엔진을 중심으로 새로운 개념으로 도입되었습니다. –

답변

3

Razor는 ASP.NET MVC 3의 새로운 뷰 엔진입니다. WebForms 뷰 엔진은 MVC, 특히 유닛 테스트와 같이 MVC에 가장 적합한 것은 아니었기 때문에 - 그것이 존재했기 때문에 사용되었습니다. 하지만 작동합니다. ASP.NET WebForms는 계속해서이를 사용하고 있으며 많은 MVC 사이트가 MVC 사이트를 이미 사용하고 있습니다 (MVC 1 및 2에서 유일하게 "축복받은"옵션이기 때문에). 면도기의 "레이아웃"은 기본적으로 WebForms 뷰 엔진의 "마스터 페이지"와 동일한 구성 요소입니다.

WebForms 뷰 엔진은 관련 기술 (WebForms, MVC는 WebForms를 대체하지 않음)에서 계속 사용되므로 "바꾸기"는이 경우 사용할 강력한 단어 일 수 있습니다. 면도기는 NHaml 또는 Spark의 라인을 따라 MVC를위한 새로운 대안입니다.

WebForms 뷰 엔진을 사용하는 기존 MVC 사이트가 있다면 Razor에서 다시 작성하지 않아도됩니다. 그러나 새로운 사이트의 경우 구문이 더 세련되어 ASP.NET 런타임과 독립적으로 작동하도록 설계되어 단위 테스트 및 기타 시나리오 (예 : 템플릿에서 전자 메일을 생성하는 등)에서 사용할 수 있습니다.

조금 더 명확하게하는 희망.

1

하지만 면도기에 불과하지 않습니까? Web Forms 뷰 엔진을 사용하려면 일반 ViewMasterPage가 필요합니다.

3

레이아웃 페이지는 마스터 페이지의 면도기 구현입니다.

그들은 본질적으로 동일한 것으로, 내가 알고있는 유일한 차이점은 레이아웃 페이지가 재사용 할 수있는 도우미 (@helper)를 지원한다는 것입니다.

관련 문제