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을 페이지에 쓰는 대신 보거나 저장 또는 조작하려는 경우.
두 방법의 차이는 작고 해롭지 않아 보일 수 있지만, 만약 여러분이 그것을 다루는 방법을 모른다면 여러분을 괴롭힐 수도 있습니다.두 방법의 주요 차이점은 다음과 같습니다.
PartialHTML 인코딩 문자열을 반환합니다.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 |