我需要在我的MVC应用程序中实现母版页面asp.net概念,当用Google搜索时我可以理解通过在MVC中使用布局可以获得相同的内容。
我在〜Views \ Shared_Layout.cshtml下的应用程序中有_Layout文件。
要在我的员工详细信息页面中的布局文件中包含内容,我已将以下内容添加到
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "DisplayEmployeeList";
}
我想知道,如果我单独在所有页面中重复上述代码,或者我可以在某个地方全局执行,以便在所有页面上都可以查看。
答案 0 :(得分:5)
不能一次为所有页面设置它。
在您的“视图”文件夹中,应该有_ViewStart.cshtml
只需在那里引用_Layout.cshtml,您的所有视图都会从此继承。
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Scott Guthrie的进一步解释: http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx
直接来自asp.net: http://www.asp.net/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application
<强> /编辑:强>
如果您想为ViewStart带来一些逻辑,您可以(例如)检查请求是否来自移动设备,并因此使用另一个布局:
@{
if (Request.Browser.IsMobileDevice)
{
Layout = "~/Views/Shared/_MobileLayout.cshtml";
}
else
{
Layout = "~/Views/Shared/_Layout.cshtml";
}
}