Html의 차이점은 무엇입니까?부분(뷰, 모델) 및 Html.MVC2에서 부분 렌더링(뷰, 모델)?
그것이 반환하는 유형과 당신이 그것을 다른 방식으로 부르는 것 외에 물론.
<% 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을 페이지에 쓰는 대신 보거나 저장 또는 조작하려는 경우.
두 방법의 차이는 작고 해롭지 않아 보일 수 있지만, 만약 여러분이 그것을 다루는 방법을 모른다면 여러분을 괴롭힐 수도 있습니다.두 방법의 주요 차이점은 다음과 같습니다.
Partial
HTML 인코딩 문자열을 반환합니다.RenderPartial
응답 출력 스트림에 직접 쓰는 void 메서드입니다.두 가지 방법의 용도는 약간 다릅니다.
@Html.Partial("_yourPartialView") @{ Html.RenderPartial("_yourPartialView "); }
사용할 항목은 사용자의 요구 사항에 따라 달라집니다.응답 스트림에 주입되는 문자열을 추가로 조작해야 하는 경우 다음을 사용해야 합니다.
Partial
그렇지 않은 경우에는 …과 함께.RenderPartial
그것은 단지 그것이 개울로 바로 가기 때문에 그것보다 조금 더 빠릅니다.Partial
.결국, 부분 뷰의 사용 사례는 두 진영 중 하나에 해당합니다.첫 번째는 아래와 같이 다양한 독립적인 마크업 조각을 함께 구성하여 뷰를 생성하는 경우입니다.
<body> @{ Html.RenderPartial("_Header"); } @Html.Partial("_Sidebar") <div class="container body-content"> @RenderBody() </div> @{ Html.RenderPartial("_Footer"); } </body>
이 경우에, 당신이 선택한 결정은
RenderPartial
또는Partial
최종 효과는 바뀌지 않습니다.하지만, 왜냐하면RenderPartial
속도가 약간 빠릅니다. 사용하는 것이 더 좋습니다.
Html.부분 및 HTML.RenderPartial 영역 확장 메서드는 웹 페이지의 재사용 가능한 부분입니다.RenderPartial의 반환 형식은 void이지만 Partial은 MvcHtmlString을 반환합니다.Html.RenderAction은 결과를 Html과 달리 응답 스트림(더 효율적이고 빠름)으로 직접 렌더링합니다.액션은 결과와 함께 (조작할 수 있는) 문자열을 반환합니다.
언급URL : https://stackoverflow.com/questions/2729815/what-is-the-difference-if-any-between-html-partialview-model-and-html-rende
'sourcecode' 카테고리의 다른 글
PyMongo를 사용하여 MongoDB 데이터베이스를 삭제하려면 어떻게 해야 합니까? (0) | 2023.05.14 |
---|---|
VB의 문자열에서 공백을 제거합니다.그물 (0) | 2023.05.14 |
Git에서 FETCH_HEAD는 무엇을 의미합니까? (0) | 2023.05.14 |
이클립스에서 블록에 대한 의견을 어떻게 제시합니까? (0) | 2023.05.14 |
문자열에서 발생한 특정 문자 수 (0) | 2023.05.14 |