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

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

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

谢谢!

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

所以在你的razor代码中,你可以查询这个variables并进行相应的渲染。

例如,在你看来(剃刀):

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

内置的浏览器检测function不再保持最新状态。 看看Scott Hanselman的博客 – 请参阅底部的“更多来”部分了解详情。

我build议看看51Degrees.mobi以获得更准确的检测。 另请参阅Hanselman提供的Steve Sanderson博客 ,了解如何在MVC3中实现此function。

我使用这个方法(适用于我)

 if (eDurar.MobileDetect.DeviceType.Any(m => Request.UserAgent.Contains(m))) { Layout = "~/Views/Shared/_mobileLayout.cshtml"; @Html.Partial("mobileIndex"); } else { Layout = "~/Views/Shared/_Layout.cshtml"; @Html.Partial("desktopIndex"); } 

我build议你使用响应式引导的东西,避免移动特定页面更好