Процедура 1.Управление отрисовкой макетов с помощью файла _ViewStart в корневом каталоге папки Views
Этот метод - самый простой способ для новичков управлять отрисовкой макетов в приложении ASP.NET MVC. Мы можем идентифицировать контроллер и отображать макеты как контроллер par, для этого мы можем написать наш код в файле _ViewStart в корневом каталоге папки Views. Ниже приведен пример, показывающий, как это можно сделать.
@{
var controller = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();
string cLayout = "";
if (controller == "Webmaster") {
cLayout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
else {
cLayout = "~/Views/Shared/_Layout.cshtml";
}
Layout = cLayout;
}
Процедура 2: установить макет, вернувшись из ActionResult
Одна из замечательных особенностей ASP.NET MVC заключается в том, что мы можем переопределить рендеринг макета по умолчанию, вернув макет из ActionResult. Таким образом, это также способ визуализации другого макета в вашем приложении ASP.NET MVC. В следующем примере кода показано, как это можно сделать.
public ActionResult Index()
{
SampleModel model = new SampleModel();
return View("Index", "_WebmasterLayout", model);
}
Процедура 3: Макет с учетом представлений (путем определения макета в каждом виде сверху)
ASP.NET MVC предоставляет нам такую замечательную функцию и возможность факсимильной связи, чтобы переопределить рендеринг макета по умолчанию путем определения макета в представлении. Чтобы реализовать это, мы можем написать наш код следующим образом в каждом представлении.
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
Процедура 4: Размещение файла _ViewStart в каждом из каталогов
Это очень полезный способ установить разные макеты для каждого контроллера в вашем приложении ASP.NET MVC. Если мы хотим установить макет по умолчанию для каждого каталога, мы можем сделать это, поместив файл _ViewStart в каждый из каталогов с необходимой информацией о макете, как показано ниже:
@{
Layout = "~/Views/Shared/_WebmasterLayout.cshtml";
}
null
на отображаемой странице?