Подтвердить что ты не робот

Html.Partial или Html.RenderPartial с MVC3?

Я полностью смущен, даже увидев следующее объяснение.

<div>
  @Html.Partial("_FeaturedProduct")
</div>

Частичные представления могут отображаться внутри страницы макета (или с использованием MVC 2/3 w/ASPX, главной страницы), а также регулярных представлений.

Есть несколько случаев, когда вам может потребоваться отступить и написать непосредственно в потоке HTTP-ответа, вместо того, чтобы частично просмотреть результаты (частичные/представления используют MvcHtmlString/StringWriter). Для этого используйте помощник Html.RenderPartial.

<div>
  @Html.RenderPartial("_FeaturedProduct")
</div>

Может кто-нибудь сказать мне, что это значит? Какие случаи, когда я мог бы писать напрямую в HTTP-ответ и т.д. Что, если мой частичный вид содержит только одну строку:

<h1>Hello</h1>

Что я должен использовать и почему? Что произойдет, если я воспользуюсь другим?

Следующие еще больше смутили меня: "Используйте Html.RenderPartial для потоковой передачи изображений или других элементов, ориентированных на медиа или где более быстрое время загрузки очень важно".

4b9b3361

Ответ 1

См. ответ ниже.

Единственное различие заключается в том, что Partial возвращает MvcHtmlString и должен называться внутри <% =% > , тогда как RenderPartial возвращаетсвои и отображает непосредственно к виду.

Если вы посмотрите на исходный код, вы увидите, что они оба называют такой же внутренний метод, передавая StringWriter для его рендеринга.

Вы бы назвали Partial, если хотите просмотреть, сохранить или манипулировать созданный HTML вместо того, чтобы записывать его на страницу.

В чем разница (если есть) между Html.Partial(представление, модель) и Html.RenderPartial(просмотр, модель) в MVC2?