Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Растолкуйте за Partial и Render в ASP.NET MVC?

Начал изучать asp.net mvc по книге Адама Фримена и столкнулся с частичными представлениями, так вот есть
@Html.Partial() @Html.RenderAction() @Html.RenderPartial()
Так вот, какая разница в этих хелперах? По-гуглив и прочитав об этих хелперах, я окончательно запутался. Так вот, хотел спросить у знающих и практикующих, когда и в каких случаях они используются??


Ответ

Если использовать приставку Render, то результаты выполнения сразу встраиваются в выходной поток. С приставкой Render - это void метод, поэтому в коде мы должны закрывать строку точкой с запятой и не можем использовать @ перед вызовом. Правильный вызов RenderPartial(RenderAction аналогично):
@{ Html.RenderPartial("View"); }
Без приставки Render Html.Partial (как и Html.Action) - возвращает html разметку. Разметка хранится в буфере, а потом также встраивается в выходной поток. Поэтому первый способ немного эффективнее.
Правильный синтаксис (без точки с запятой):
@Html.Partial("View")

Комментариев нет:

Отправить комментарий