1

如何检测ASP.NET MVC应用程序中的移动设备(但不是平板电脑)请求?

4

2 回答 2

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 页面

在这里阅读他们详细解释的地方

有时这可能不适用于某些平板电脑

为此,您必须使用 Request.Browser.ScreenPixelsWidth 并针对各种屏幕尺寸的值进行验证以实现此目的。我认为这将是在服务器端做这件事的唯一方法

如果您想信任客户端 javascript 。有多种脚本可以做到这一点。

检查此检测移动浏览器,这也可能对您有所帮助。

于 2012-09-10T05:27:48.207 回答
0

As the other bloke said, you can use Request.Browser.IsMobileDevice

Either in your controller or in your layout page

Razor. You can do this in the layout page and it'll change depending on device e.g.

@if (Request.Browser.IsMobileDevice) {

}

Controller for an individual View e.g.

public ActionResult Index()
{
    if (Request.Browser.IsMobileDevice)
         return View("Index.Mobile");
    else
         return View();      
}

An alternative is to use this API called 51Degrees.mobi. I personally haven't used it, but it looks pretty good and very complete: http://51degrees.codeplex.com/wikipage?title=MVC

Also, this has some more information on the subject of mobile detection. http://www.asp.net/whitepapers/add-mobile-pages-to-your-aspnet-web-forms-mvc-application

于 2012-09-10T05:46:00.460 回答