asp.net - 移动设备被检测为非移动设备

标签 asp.net mobile mobile-website

我在我的 asp.net 项目中包含了一个移动 Web 表单,我认为它可以/应该只对我的移动用户可见,但我意识到它也可以从任何浏览器中看到,我没有看到那里存在问题,因为我可以使用 HttpBrowserCapabilities.IsMobileDevice=true 区分访问并转移到适当的 aspx 页面,但结果是,当我从移动设备访问 Web 表单时,它被标识为 IsMobileDevice = false 并将我发送到另一个页面.

这怎么可能?

移动设备运行 Pocket PC 2003。

最佳答案

恕我直言:HttpContext.Current.Request.Headers("User-Agent")的值是一个更安全的选择,因为它实际上指示发出请求的浏览器,而不是类型设备本身

我从经验中了解到,如果智能手机通过第三方浏览器向您的服务发出请求,通常会进行任何类型的“您是什么类型的设备”测试( HttpCapabilityBase.IsMobileDevice 和/或 HttpContext.Current.Request.Browser.IsMobileDevice) 将失败。

不幸的是,由于缺少允许的用户代理(或与此相关的不允许的用户代理)的大列表,您只需在渲染之前确保它不会以 Mozilla、iPhone 或 Opera 开头页...

这是一个很难打球的竞技场。
祝你好运。

关于asp.net - 移动设备被检测为非移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224/

相关文章:

javascript - ASP.NET 检测 Javascript 是否禁用字段

mobile - Web View 中的 Paypal 结帐

CakePHP网站手机版

c# - Visual Studio - Resx 文件默认 'internal' 到 'public'

asp.net - IIS URL 重写 - 根据 url 添加查询字符串

css - 媒体查询视觉错误,意外行为移动响应

android - 手机网站中的小字体

web - 创建在 OpenCMS 上运行的网站的移动版本的选项?

css - 在移动设备上呈现的普通 <select> 元素与 Bootstrap 的下拉元素

c# - 禁用带有按键事件的提交