надеюсь, что это поможет вам .... различные способы рендеринга макетов в Asp.Net MVC.
Метод 1: Управление отображением макетов с помощью файла _ViewStart в корневом каталоге папки Views
Мы можем изменить рендеринг макетов по умолчанию в файле _ViewStart, используя следующий код:
@{
var controller = HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"].ToString();
string layout = "";
if (controller == "Admin")
{
layout = "~/Views/Shared/_AdminLayout.cshtml";
}
else
{
layout = "~/Views/Shared/_Layout.cshtml";
}
Layout = layout;
}
Способ 2. Возвращение макета из ActionResult
Мы также можем переопределить рендеринг макета по умолчанию, возвращая макет из ActionResult, используя следующий код:
public ActionResult Index()
{
RegisterModel model = new RegisterModel();
//TO DO:
return View("Index", "_AdminLayout", model);
}
Метод 3: определение макета с каждым видом сверху
Мы также можем переопределить рендеринг макета по умолчанию, определив макет на представлении, используя следующий код:
@{
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
спасибо