如何在ASP.NET
MVC
申请中检测移动设备(但不是平板电脑)请求?
答案 0 :(得分:2)
在ASP.NET中,您可以使用Request.Browser.IsMobileDevice属性和Request.UserAgent轻松检测移动设备请求。
以下代码检查IsMobileDevice属性并重定向到特定于移动设备的页面:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Browser.IsMobileDevice)
{
Response.Redirec("~/default_mobile.aspx");
}
}
如果您从移动浏览器请求“default.aspx”,它将重定向到default_mobile.aspx页面
Read here他们在那里详细解释
有时这可能不适用于某些平板电脑
为此,您必须使用Request.Browser.ScreenPixelsWidth并验证各种屏幕尺寸的值以实现此目的。我认为这将是在服务器端完成它的唯一方法
如果你想信任客户端javascript。有各种各样的脚本可以做到这一点。
选中此Detect Mobile Browsers,这也可能对您有所帮助。
答案 1 :(得分:0)
正如其他人说的那样,你可以使用Request.Browser.IsMobileDevice
在您的控制器或布局页面中
<强>剃刀即可。您可以在布局页面中执行此操作,它将根据设备进行更改,例如
@if (Request.Browser.IsMobileDevice) {
}
单个视图的控制器,例如
public ActionResult Index()
{
if (Request.Browser.IsMobileDevice)
return View("Index.Mobile");
else
return View();
}
另一种方法是使用名为51Degrees.mobi的API。我个人没有使用它,但它看起来非常好而且非常完整:http://51degrees.codeplex.com/wikipage?title=MVC
此外,这还有一些关于移动检测主题的更多信息。 http://www.asp.net/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application