Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET-如何确定用户是否为移动用户?_C#_Asp.net_Mobile - Fatal编程技术网

C# ASP.NET-如何确定用户是否为移动用户?

C# ASP.NET-如何确定用户是否为移动用户?,c#,asp.net,mobile,C#,Asp.net,Mobile,我试图找出查看我网站的用户是否是移动用户。我使用了“HttpContext.Current.Request.Browser.IsMobileDevice”,发现它非常无用,因为在我的手机上查看该网站时,它没有了解我的使用情况 是否有其他方法可以确定用户是否是工作更好的移动用户 我已经看过用户代理了,这看起来很混乱 我应该指出,这与CSS无关,我想记录用户是否是数据库表中的移动用户 是的,我知道谷歌分析已经可以做到这一点,但不幸的是,这不是我的决定 谢谢退房 它作为一个.NET开源类库提供,用于

我试图找出查看我网站的用户是否是移动用户。我使用了“HttpContext.Current.Request.Browser.IsMobileDevice”,发现它非常无用,因为在我的手机上查看该网站时,它没有了解我的使用情况

是否有其他方法可以确定用户是否是工作更好的移动用户

我已经看过用户代理了,这看起来很混乱

我应该指出,这与CSS无关,我想记录用户是否是数据库表中的移动用户

是的,我知道谷歌分析已经可以做到这一点,但不幸的是,这不是我的决定

谢谢退房

它作为一个.NET开源类库提供,用于检测移动设备 设备和浏览器,增强.NET可用的信息 程序员。使用51Degrees.mobi设备数据,精确的屏幕尺寸, 输入方法,加上制造商和型号信息 可用。可以选择将手机重定向到内容 专为移动设备设计。智能手机、平板电脑和功能手机 都是支持的

正如评论中指出的那样

产品提供的检测和重定向部分是免费的。 免费试用的是他们的移动优化产品


请参阅我对您的问题的评论,以获得更全面的答案,但要查看该用户是否是移动用户,我个人建议您进行简单检查


尝试使用此代码进行测试

    string sUA = Request.UserAgent.Trim().ToLower();

    uaString.InnerText = Request.UserAgent;

    if (sUA.Contains("ipod") || sUA.Contains("iphone"))
        isMobile = true;

    if (sUA.Contains("android"))
        isMobile = true;

    if (sUA.Contains("opera mobi"))
        isMobile = true;

    if (sUA.Contains("windows phone os") && sUA.Contains("iemobile"))
        isMobile = true;

    if (sUA.Contains("fennec"))
        isMobile = true;

看我的答案这里这只是一个免费试用-你必须支付$使用它。+1。我已经成功地使用了51度。没有简单的方法可以通过查看用户代理字符串来确定移动浏览器,但51degrees可以实现这一点。他们通过使用移动用户代理字符串的综合数据库来实现这一点。警告一句,经常更新。如果不这样做,您可能会错误地确定新浏览器(或更新)是移动的,而它不是移动的,或者无法检测到浏览器实际上是移动的。如果你经常更新,就不会有这些问题。IIRC,51degrees使用WURFL作为数据源。@IrishChieftain产品中的检测和重定向部分是免费的。免费试用是针对他们的移动优化产品。我还认为值得指出的是,51degrees是一个httpmodule,它将使用WURFL数据库而不是内置的asp.net检测更新HttpContext.Current.Request.Browser.IsMobileDevice。希望没有人使用黑莓。或者是掌上设备。糟糕,糟糕的主意。这不会总是奏效的。我强烈建议不要使用这样的脆弱方案。51度的答案(或任何使用更全面数据库的答案)是一个更复杂、更可靠的解决方案。我以前走过这条路,但它无法使用。我们得到了60个与上述类似的if语句,并且我们仍然遇到检测不正确的情况。根据经验,我可以告诉您,如果您采用更完整的解决方案,您会更高兴。似乎更可靠的方法可能是检查设备的分辨率并按此方式对其进行分类。什么是uaString.InnerText?