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

351
07 августа 2017, 09:38

Начал изучать asp.net mvc по книге Адама Фримена и столкнулся с частичными представлениями, так вот есть

@Html.Partial()
@Html.RenderAction()
@Html.RenderPartial()

Так вот, какая разница в этих хелперах? По-гуглив и прочитав об этих хелперах, я окончательно запутался. Так вот, хотел спросить у знающих и практикующих, когда и в каких случаях они используются??

Answer 1

Если использовать приставку Render, то результаты выполнения сразу встраиваются в выходной поток. С приставкой Render - это void метод, поэтому в коде мы должны закрывать строку точкой с запятой и не можем использовать @ перед вызовом. Правильный вызов RenderPartial(RenderAction аналогично):

@{
     Html.RenderPartial("View");
}

Без приставки Render Html.Partial (как и Html.Action) - возвращает html разметку. Разметка хранится в буфере, а потом также встраивается в выходной поток. Поэтому первый способ немного эффективнее.

Правильный синтаксис (без точки с запятой):

@Html.Partial("View")
READ ALSO
Долгое обращение к методу

Долгое обращение к методу

Доброго времени суток

580
С# (Новичок) 2 строки переписать в 1ну

С# (Новичок) 2 строки переписать в 1ну

С# Всем привет!) Есть строки вводимые пользователем (с одинак-м кол-м символов и только цифры без пробелов)

295
Как вывести на экран достижения, которые были получены?

Как вывести на экран достижения, которые были получены?

Пытаюсь сделать так, чтобы в конце уровня все достижения, значения которых были изменены, выводились на экранТак я сохраняю информацию о достижениях,...

384
В чем разница между ForMember() и ForPath() методов AutoMapper?

В чем разница между ForMember() и ForPath() методов AutoMapper?

Читая про ReversMap() у AutoMapper, не могу понять разницу между методами ForMember и ForPathТот функционал, который выполняет ForPath на данной странице я обычно...

433