我成功地遵循了本教程:http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
当我使用移动设备访问页面时,所有视图都成功呈现.但是,它们的布局错误(AKA主页).
我有以下结构:/Views/Shared/Mobile/_Layout.cshtml /Views/Shared/_Layout.cshtml
问题是,我必须在每个视图中放入以下语句:
Layout = "~/Views/Shared/Mobile/_Layout.cshtml";
Run Code Online (Sandbox Code Playgroud)
有没有我可以将逻辑放在另一个布局上的地方?
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的文件,您可以在其中放置所有视图使用的布局逻辑
示例_ViewStart.cshtml简单地说:
@{
Layout = "~/Views/Shared/SiteLayout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
文章还指出:'因为_ViewStart.cshtml允许我们编写代码,我们可以选择使我们的布局选择逻辑比基本属性集更丰富.例如:我们可以改变我们使用的布局模板,具体取决于访问网站的设备类型 - 并为这些设备提供手机或平板电脑优化布局,以及针对PC /笔记本电脑的桌面优化布局.
你可能需要花一些时间才能完成这项工作,但我没有一个2010安装方便的尝试.
| 归档时间: |
|
| 查看次数: |
9092 次 |
| 最近记录: |