【问题标题】:Set mobile mode based on screen resolution size in MVC?在 MVC 中根据屏幕分辨率大小设置移动模式?
【发布时间】:2014-04-21 23:15:30
【问题描述】:

有没有办法根据屏幕大小而不是用户代理将请求分类为移动设备或桌面设备?

例如,iPad Retina 将我的网站作为桌面查看时没有问题,但我希望 iPad 1 被识别为移动设备。如果我尝试从 Android 设备的用户代理中确定屏幕尺寸,那将会失控。有没有办法在 MVC 中做这样的事情:

if (screen size < 840px) HttpContext.SetOverriddenBrowser(BrowserOverride.Mobile)

【问题讨论】:

  • 为什么不向您的 CSS 添加媒体查询。这就是它们的部分用途。
  • 移动站点是 MVC 应用程序(jQuery Mobile 应用程序)中的一个全新站点。一些架构是共享的,但很多时候移动设备使用完全不同的控制器、查询、.mobile 视图、条件@if (ViewContext.HttpContext.GetOverriddenBrowser().IsMobileDevice) 以及其他深层差异和处理。
  • 您可以在 MVC4 中使用 DisplayModeProvider 类。这是code project link,可能会对您有所帮助。

标签: c# asp.net-mvc mobile responsive-design asp.net-mvc-5


【解决方案1】:

看起来HttpBrowserCapablilties 对象包含ScreenPixelsWidth 和ScreenPixelsHeight 属性。我想你可以以此为基础。

HttpBrowerCapabilities

ScreenPixelsWidth

ScreenPixelsHeight

【讨论】:

  • 这只是一个数据结构,并尝试将其从 Request.Browser 中取出,屏幕宽度/高度始终相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2014-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多