在ASP.NET中检测来自移动浏览器的请求

时间:2010-04-16 14:40:30

标签: asp.net redirect mobile mobile-website

我有一个现有的网站,我想创建一个更适合的移动版本。例如,主站点使用下拉菜单,我们都知道这些都是移动设备上的失败。

如果我检测到来自移动浏览器的请求,我想重定向到我的移动版本(它将是当前网站的子域)。所以当他们谷歌的东西来到我的网站时,他们会自动看到移动版本(就像维基百科一样)。

ASP.NET提供了一种简单的方法吗?如果没有,我该怎么办?

5 个答案:

答案 0 :(得分:3)

您可以在Request.Browser中的某处使用IsMobileDevice属性。你需要一些不错的浏览器定义。我使用了这些优秀的浏览器定义集:Ocean's place browser definitions

他们真的是深度和我见过的最好的。我认为他目前也在开发.NET4。

答案 1 :(得分:3)

我认为最好的解决方案是WURFL。它是更新的设备描述存储库,它是免费的。唯一的不便是.net api是GPL。

答案 2 :(得分:3)

保持简单......

继续JS的同样......

希望它有所帮助..

var useragent = navigator.userAgent;

var isMobile = !!useragent.match(/iPhone|Android|Blackberry|Sony|Nokia|Motorola|Samsung/i),
    isWebBrowser = !!useragent.match(/Mozilla/i);

// Redirect the call accordingly.

  if(isWebBrowser && !isMobile)
            //call to web portal
            alert(" You seem to me... calling from Web Browser")
    else if(isMobile)
        //call to mobile apps
            alert(" Call seems to be from Mobile device...")
    else
    {
        // jus kiddin...
        alert(" Unable to detect the device..... Please report to admin...")
    }

答案 3 :(得分:2)

您可以使用codeplex上的项目:Mobile Device Browser File

  

项目说明

     

移动浏览器定义文件   包含个人的定义   移动设备和浏览器。在奔跑   时间,ASP.NET使用的信息   请求标头确定什么   设备类型/浏览器已经成功了   请求。

     

该项目提供了一个数据文件   当与ASP.NET一起使用时会检测到   传入移动设备并呈现给您   作为一组67的Web开发人员   能力或属性描述   请求设备。这些   功能范围从屏幕尺寸到   cookie支持并提供所有   您需要自适应的信息   为手机和手机渲染内容   设备

     

什么是移动设备浏览器定义文件?

     

移动设备浏览器定义   文件包含功能定义   适用于个人移动设备和   浏览器。在运行时,ASP.NET使用   这个.browser文件,以及   HTTP请求中的信息   标题,确定什么类型   设备/浏览器已提出请求   以及它的能力   设备是。这个信息是   通过开发者接触开发者   Request.Browser属性并允许   他们要定制的介绍   他们的网页适合   目标设备的功能。

答案 4 :(得分:1)

有一个article on CodeProject提供这样的功能。