【发布时间】:2013-04-18 10:32:48
【问题描述】:
我为移动设备和桌面设备创建了一个 MVC 4 Internet 应用程序项目。 现在我只想为所有浏览器全局显示移动网站。
我一直在尝试使用代码HttpContext.SetOverriddenBrowser(BrowserOverride.Mobile) 来执行此操作,但无论我把它放在哪里,它似乎都无法正常工作。
目前我可以使用 ViewSwitcher 从桌面网站切换到移动网站,但这不切实际,因为桌面网站还没有功能。
public RedirectResult SwitchView(bool mobile, string returnUrl) {
if (Request.Browser.IsMobileDevice == mobile)
HttpContext.ClearOverriddenBrowser();
else
HttpContext.SetOverriddenBrowser(mobile ? BrowserOverride.Mobile : BrowserOverride.Desktop);
return Redirect(returnUrl);
}
我所有的移动视图都是 VIEWNAME.Mobile.cshtml 格式。任何帮助将不胜感激,谢谢。
【问题讨论】:
-
如果“桌面”版本准备就绪还需要一段时间,您总是可以克隆项目,重命名移动视图以删除名称中的
.mobile部分,然后部署它... -
感谢您的建议,虽然我不想让它成为一个纯粹的移动项目,因为桌面版本已经有大量工作。我刚刚将视图切换器链接添加到所有桌面页面,这可以满足我的需要。
标签: c# mobile asp.net-mvc-4