希望这种帮助ü....在Asp.Net MVC呈现布局的各种方式。
方法1:
@{
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;
}
:控制布局呈现由浏览文件夹的根目录下使用_ViewStart文件
我们可以在_ViewStart文件通过使用下面的代码更改布局的默认渲染
方法2:从ActionResult返回布局
我们还可以通过使用以下代码从ActionResult返回布局来覆盖默认布局渲染:
public ActionResult Index()
{
RegisterModel model = new RegisterModel();
//TO DO:
return View("Index", "_AdminLayout", model);
}
方法3:
@{
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
:与顶部
每个视图我们也可以通过使用下面的代码定义视图上的布局覆盖默认布局呈现定义布局谢谢
http://stackoverflow.com/questions/5059323/asp-mvc-3-use-different-layouts-in-different-views – Adam 2013-04-05 14:45:39