Programming

MVC2에서 Html.Partial (view, model)과 Html.RenderPartial (view, model)의 차이점은 무엇입니까?

procodes 2020. 6. 21. 21:11
반응형

MVC2에서 Html.Partial (view, model)과 Html.RenderPartial (view, model)의 차이점은 무엇입니까?


그것이 반환하는 유형과 당신이 그것을 다르게 부르는 사실 이외

<% Html.RenderPartial(...); %>
<%= Html.Partial(...) %>  

서로 다른 경우 왜 다른 전화가 아닌 다른 전화를 하시겠습니까?
정의 :

// Type: System.Web.Mvc.Html.RenderPartialExtensions
// Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll

using System.Web.Mvc;

namespace System.Web.Mvc.Html
{
    public static class RenderPartialExtensions
    {
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, ViewDataDictionary viewData);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model);

        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model,
                                     ViewDataDictionary viewData);
    }
}

// Type: System.Web.Mvc.Html.PartialExtensions
// Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll

using System.Web.Mvc;

namespace System.Web.Mvc.Html
{
    public static class PartialExtensions
    {
        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName,
                                        ViewDataDictionary viewData);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model);

        public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model,
                                        ViewDataDictionary viewData);
    }
}

유일한 차이점은을 Partial반환하고 MvcHtmlString내부 <%= %>에서 호출 해야하는 반면 RenderPartial반환 void하고 뷰로 직접 렌더링한다는 것입니다.

소스 코드 를 보면 둘 다 동일한 내부 메소드를 호출하여 렌더링 할 StringWriter를 전달 함을 알 수 있습니다.

Partial생성 된 HTML을 페이지에 쓰지 않고 보거나 저장하거나 조작하려면 호출 합니다.


HTML.RenderPartial은 다른 대부분의 도우미 메서드와 마찬가지로 HTML 태그를 반환하지 않습니다. 대신,이 메소드는 컨텐츠를 직접 응답 스트림에 작성하므로 개발자는 세미콜론을 사용하여 전체 C # 라인처럼 호출해야합니다. 어쨌든 응답 스트림에 작성되므로 부분보기에서 렌더링 된 HTML을 버퍼링하는 것보다 약간 더 효과적입니다.

참고 URL : https://stackoverflow.com/questions/2729815/what-is-the-difference-if-any-between-html-partialview-model-and-html-rende

반응형