希望这对你有所帮助....在 Asp.Net MVC 中呈现布局的各种方式。
方法一:使用Views文件夹根目录下的_ViewStart文件控制Layouts渲染
我们可以在 _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";
}
谢谢