如何在.NET MVC3应用程序中检测移动浏览器

Dav*_*ave 44 .net razor asp.net-mvc-3

我正在开发一个.NET MVC3应用程序.

是否有一种很好的方法来检测用户是否在视图中使用移动浏览器(使用RAZOR).如果它是移动浏览器,我想要区分显示逻辑.

谢谢!

tsi*_*orn 70

MVC3在Request.Browser对象中公开IsMobileDevice标志.

因此,在您的剃刀代码中,您可以查询此变量并相应地进行渲染.

例如,在您的视图中(剃刀):

@if (Request.Browser.IsMobileDevice) {
  <!-- HTML here for mobile device -->
} else {
  <!-- HTML for desktop device -->
}
Run Code Online (Sandbox Code Playgroud)

  • 确定它确实如此.我在生产项目中使用它.由于移动列表不再保持最新,因此现在存在一些限制.您可以使用51degrees.mobi(请参阅下面的帖子)获取更新列表.然后,您仍然可以使用此技术来检测移动浏览器. (14认同)
  • 低报 - 这根本不起作用. (2认同)
  • @WhatsInAName是一款ipad移动设备? (2认同)

Rya*_*and 21

内置的浏览器检测功能不再保持最新.看看Scott Hanselman的博客 - 详情请参阅底部的"More to Come"部分.

从那篇文章:

自那篇文章以来,发布并支持原始移动设备浏览器文件(MDBF)的爱尔兰Live.com团队已经停止生产它.移动浏览器设备数据的最佳来源是WURFL(这是MDBF从中获取的地方之一.)

我建议看看51Degrees.mobi以获得更准确的检测.另请参阅Steve Sanderson博客,Hanselman引用了如何在MVC3中实现此功能.