gpt4 book ai didi

asp.net-mvc - MVC3 Razor - 有没有办法根据浏览器请求更改布局?

转载 作者:行者123 更新时间:2023-12-05 00:05:41 25 4
gpt4 key购买 nike

我成功地遵循了本教程:http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

当我使用移动设备访问页面时,所有 View 都成功呈现。但是,它们以错误的布局呈现(AKA 母版页)。

我有以下结构:
/Views/Shared/Mobile/_Layout.cshtml
/Views/Shared/_Layout.cshtml

问题是,我必须在每个 View 中都添加以下语句:

Layout = "~/Views/Shared/Mobile/_Layout.cshtml";

有没有地方可以放置我的逻辑以在另一个布局上呈现一个布局?

if (normalAccess) 渲染正常 _Layout.cshtml
else (mobileAccess) 渲染/Mobile/_Layout.cshtml

我找不到在哪里。

谢谢你的帮助。

最佳答案

http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx有一篇好文章

您显然可以在您的\Views 文件夹中创建一个名为 _ViewStart.cshtml 的文件,您可以在其中放置您的布局逻辑以供所有 View 使用

_ViewStart.cshtml 示例很简单:

@{
Layout = "~/Views/Shared/SiteLayout.cshtml";
}

文章还指出:'因为 _ViewStart.cshtml 允许我们编写代码,我们可以选择性地使我们的布局选择逻辑更丰富,而不仅仅是一个基本的属性集。例如:我们可以根据访问站点的设备类型来改变我们使用的布局模板——并为这些设备提供优化的手机或平板电脑布局,以及针对 PC/笔记本电脑的桌面优化布局。

您可能需要花点时间才能让这个工作正常进行,但是我没有方便的 2010 安装来尝试这个。

关于asp.net-mvc - MVC3 Razor - 有没有办法根据浏览器请求更改布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com