проходящих объектов
Для передачи объектов вы можете использовать ViewBag или ViewData . Оба работают одинаково, используя ViewDataDictionary
ниже, это означает, что вы можете использовать их взаимозаменяемо.
Чтобы установить значение:
ViewBag.HelloWorld = "Hello world!";
ViewData["HelloWorld"] = "Hello world!";
Для использования значения в представлении:
@ViewBag.HelloWorld
@ViewData["HelloWorld"]
ViewDataDictionary
можно заполнять и использовать как в контроллерах, так и в представлениях.
Отличия от использования ViewBag и ViewData:
ViewBag является производным от DynamicViewData
и не требует приведения для использования, но не позволит вам установить ключ с пробелами в нем.
ViewData является производным от ViewDataDictionary
и предлагает полезные свойства и функции словаря. Также ключи могут содержать пробелы. Требуется приведение типа или по умолчанию ToString()
.
Передача блоков HTML
Вы также можете передавать блоки HTML, внутри макета вы можете рендерить секцию
@RenderSection("Header", required: false)
В отдельных представлениях вы можете ввести в этот раздел
@section Header {
<strong>I sit in the existing header!</strong>
}