[ASP.NET MVC] Partial, RenderPartial, RenderPage

2013. 7. 22. 15:40WEB

@{Html.RenderPartial("ViewName");}

ViewEngine에 의해 ViewName에 해당하는 View를 찾아, 해당 View를 Parsing하여 응답 스트림에 직접 결과를 작성하며 반환값은 void입니다.

@Html.Partial("ViewName")

ViewEngine에 의해 ViewName에 해당하는 View를 찾아, 해당 View를 Parsing하여 MvcHtmlString의 형태로 반환합니다. Html.RenderPartial()은 결과를 이미 존재하는 Response.OutputStream에 직접 쓰는데 반하여 Html.Partial()은 독자적인 Stream을 생성하기 때문에 성능상 약간 더 불리 합니다. 하지만 Html.Partial()은 Parsing된 결과값을 직접 변수로 받아 조작할 수 있다는 장점이 있습니다.

@RenderPage("~/Views/Home/ViewName.cshtml")

지정한 경로에 대한 View를 Parsing하여 응답스트림에 직접 결과를 작성합니다. @RenderPage(“ViewPath”, ModelInstance); 형태로 Model을 넘겨 줄 수 있습니다. ViewEngine에 의해 View를 검색하지 않고 직접 해당 View를 지정할 수 있습니다.