Я очень новичок в .NET (я пришел из фреймворка Java и Spring), и у меня есть следующие сомнения по поводу страниц Razor.
У меня есть очень простая страница, подобная этой:
@model Vidly.Models.Customer
@{
ViewBag.Title = Model.Name;
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>@Model.Name</h2>
в первой строке объявляется объект модели, используемый этой страницей, имеющий тип Vidly.Models.Customer (содержит данные, используемые в представлении), на самом деле я получаю доступ и показываюзначение свойства Vidly.Models.Customer.Name :
<h2>@Model.Name</h2>
Мои сомнения связаны с этим разделом предыдущего кода:
@{
ViewBag.Title = Model.Name;
Layout = "~/Views/Shared/_Layout.cshtml";
}
Чтоэто точно делает?
Я думаю, что он объявляет какой-то объект, содержащий 2 свойства, которые представляют что-то вроде настроек этой страницы просмотра (поправьте меня, если я делаю неправильное утверждение).
В этой строке указано, что такое макет страницы:
Layout = "~/Views/Shared/_Layout.cshtml";
Но что именно означает эта строка:
ViewBag.Title = Model.Name;
Что такое ViewBag ?а что значит этот параметр?Model.Name должен содержать значение свойства Name внутри переданного объекта модели.Что именно делает?