В структуре веб-страниц asp.net, в чем разница между использованием блока контента и помощника?
Похоже, что они оба используются для вывода HTML на несколько страниц. Оба могут содержать код и оба могут передавать параметры.
Есть ли другие различия? Когда вы должны использовать помощник против блока контента?
Дополнительная информация:
С помощью блоков содержимого мы создаем файл .cshtml (например, _MakeNote.cshtml) для хранения содержимого, которое мы хотим вставить на страницу. Тогда мы используем:
@RenderPage("/Shared/_MakeNote.cshtml")
для вставки содержимого на страницу. Мы можем передать параметры в блок контента следующим образом:
@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" })
Это что-то вроде включаемого файла, но я думаю, что не разделяет область видимости с родительской страницей.
С помощью помощников мы создаем страницу .cshtml в папке App_Code (например, MyHelpers.cshtml) и размещаем на этой странице методы, которые мы хотим вызвать. Метод выглядит примерно так:
@helper MakeNote(string content) {
<div>@content</div>
}
Помощник вызывается с помощью:
@MyHelpers.MakeNote("Hello from helper")