MSDN让检测移动浏览器听起来很容易:

if (Request.Browser["IsMobileDevice"] == "true" ) 
{
    Response.Redirect("MobileDefault.aspx");
}

实际上,看起来你也可以判断一下请求.浏览器IsMobileDevice.但这实际上是如何工作的呢?我甚至连一本书都没有.浏览器文件...这里的幕后发生了什么?ASP有一些内置的默认设置.NET 2.0?

推荐答案

许多*.Browser文件随.NET一起提供:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers

运行库使用*.Browser文件中的正则表达式与传入的User-Agent字符串进行匹配,然后根据它找到的每个匹配设置一组属性(层次 struct 中可能有多个匹配).

如果需要深入的移动设备支持,请考虑安装MdBF,它增加了大约400个设备的支持:

http://mdbf.codeplex.com/

Asp.net相关问答推荐

如何格式化搜索字符串以从 Razor 页表中的多个列返回部分搜索字符串?

我可以强制刷新我的样式表文件吗?

Thread.CurrentPrincipal 错误地声称是匿名的

SignalR 不在服务器上使用 Session

ASP.Net - App_Data & App_Code 文件夹?

如何使用特定视图(不是控制器名称)返回 ActionResult

部署后 ASP.Net Core Identity 登录状态丢失

ASP.NET MVC4 jquery/javascript 包的使用

IIS 6/ASP.NET Windows 身份验证 list ?

如何计算/查找给定日期的周数?

新的 ASP.NET MVC 5 应用程序如何知道如何创建数据库以及帐户控制器如何访问数据库?

如何从 URI 中删除 PROTOCOL

如何使用 asp.net 获取 html Select 的选定值

使用 JObject 所需的库名称是什么?

用于呈现

如何通过 Google 图表 API 使用 X 轴中的日期?

System.Reflection.Assembly.LoadFile 锁定文件

协调 ASP.NET 脚本包和源映射

如何将我的 Autofac 容器插入 ASP. NET 身份 2.1

ASP.NET MVC 5 Web.config:FormsAuthenticationModule或FormsAuthentication