Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.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# Request.Browser.IsMobileDevice=对于Android为false,为什么?_C#_Android_Asp.net Mvc - Fatal编程技术网

C# Request.Browser.IsMobileDevice=对于Android为false,为什么?

C# Request.Browser.IsMobileDevice=对于Android为false,为什么?,c#,android,asp.net-mvc,C#,Android,Asp.net Mvc,我有三星galaxy s2,在C#代码中显示Request.Browser.IsMobileDevice=false,但我想在我的应用程序中使用移动版本。如何能够为Android设备显示我的网站的移动版本 非常感谢你 Sergey.您可以检查HTTP头 用户代理是一个标识符(通常)包含浏览器名称和版本,以及运行浏览器的平台或操作系统的名称和版本。当前的标准是将其拆分为空间分隔的元素,但实际上,User-Agent字段可以设置为任何值 例如: Mozilla/5.0 Windows NT 6.1

我有三星galaxy s2,在C#代码中显示Request.Browser.IsMobileDevice=false,但我想在我的应用程序中使用移动版本。如何能够为Android设备显示我的网站的移动版本

非常感谢你

Sergey.

您可以检查HTTP头

用户代理是一个标识符(通常)包含浏览器名称和版本,以及运行浏览器的平台或操作系统的名称和版本。当前的标准是将其拆分为空间分隔的元素,但实际上,
User-Agent
字段可以设置为任何值

例如:

Mozilla/5.0 Windows NT 6.1 WOW64 rv 8.0 Gecko/20100101 Firefox/8.0
这表明我正在64位版本的WindowsNT6.1(即Windows7)上运行Firefox8.0(使用Mozilla渲染器v5.0和Gecko布局引擎版本2010/01/01)


您可以从这里获得有关用户代理字符串的更多信息:

使用51Degrees.mobi from进行一键安装,零配置将纠正此问题。

检查设备是否为Android设备是有用的

有一个帖子的代码是:

您可以使用正则表达式在App_浏览器中创建一个文件来识别浏览器,以下是Android中的firefox:

<browsers>
    <!--Mozilla/5.0 (Android 5.0; Mobile; rv:44.0) Gecko/44.0 Firefox/44.0-->
    <browser id="FirefoxMobile" parentID="firefox3plus">
        <identification>
            <userAgent match="Mozilla.+\(Android.+Mobile.*\)" />
        </identification>
        <capabilities>
            <capability name="isMobileDevice" value="true" />
        </capabilities>
    </browser>
</browsers>


请阅读。只需使用NUGETGALD添加51度即可。乐意为您提供帮助。你也应该仔细阅读dknaack的链接,他将其作为对你问题的评论发布。看起来非常有趣。。。非常感谢你,阿加诺不再是一个选择。嗯,这是一个选项,但是如果没有高级数据订阅,您就无法获得更新。众包是最好的!这并不理想,因为它会将android平板电脑检测为移动版(而您通常不希望平板电脑看到移动版)。当用户代理字符串是平板电脑时,它们似乎经常包含“平板电脑”,所以检查这一点也会对其进行修补。