asp.net检测是否为移动设备
2015-10-09 11:46
639 查看
随着移动设备的流行,兼容web的项目的需求,不断的增加,那么我们怎么样判断,是否为移动端设备请求的服务端呢,asp.net为我们提供了这样的写法:
还有一种正则的判断方法:
web.config或者app.config:
c#代码:
string strUserAgent = Request.UserAgent.ToString().ToLower(); if (strUserAgent != null) { if (Request.Browser.IsMobileDevice == true || strUserAgent.Contains("iphone") || strUserAgent.Contains("blackberry") || strUserAgent.Contains("mobile") || strUserAgent.Contains("windows ce") || strUserAgent.Contains("opera mini") || strUserAgent.Contains("palm")) { //请求处理 } }
还有一种正则的判断方法:
web.config或者app.config:
<appSettings> <!-- 这是一个正则表达式,用来标识移动设备。被识别出的移动设备将采用移动版的主题模板 --> <add key="BlogEngine.MobileDevices" value="(iemobile|iphone|ipod|android|nokia|sonyericsson|blackberry|samsung|sec\-|windows ce|motorola|mot\-|up.b|midp\-)"/> </appSettings>
c#代码:
/// <summary> /// The regex mobile. /// </summary> private static readonly Regex RegexMobile = new Regex( ConfigurationManager.AppSettings.Get("BlogEngine.MobileDevices"), RegexOptions.IgnoreCase | RegexOptions.Compiled); /// <summary> /// Gets a value indicating whether the client is a mobile device. /// </summary> /// <value><c>true</c> if this instance is mobile; otherwise, <c>false</c>.</value> public static bool IsMobile { get { var context = HttpContext.Current; if (context != null) { var request = context.Request; if (request.Browser.IsMobileDevice) { return true; } if (!string.IsNullOrEmpty(request.UserAgent) && RegexMobile.IsMatch(request.UserAgent)) { return true; } } return false; } }
相关文章推荐
- ASP.NET MVC3 Areas 分离项目 同名控制器(同名Controller) 演示demo
- (读书笔记)Asp.net Mvc 与WebForm 混合开发
- Asp.Net MVC 路由
- GridView控件如何显示序号
- ASP.NET如何定时调用WebService服务
- ASP基础入门第一篇(ASP技术简介)
- [ASP.NET]谈谈REST与ASP.NET Web API
- Asp.Net 之 基本控件FileUpload上传控件
- Asp.Net 之 下载文件的常用方式
- [转]OBOUT ASP.NET HTML Editor - Insert HTML
- asp.net mvc web api 可跨域方法
- spring @AspectJ @annotation
- ASP.NET如何定时调用WebService服务
- 表单和 HTML 辅助方法– ASP.NET MVC 4 系列
- ROS(10):mac 下树莓派Raspberry Pi 烧录 img
- Asp.net mvc + .net ef database first 或 model first 时如何添加验证特性
- Asp.net页面间传值方式汇总
- Unable to locate 'C:\Users\Administrator\Desktop\aspnet-3f34254d5ebec499ba8bc470544c7d401f379406\Sam
- Asphyre 更名pxl 终于全面支持跨平台了.Delphi饭们 激动了吧.
- ASP.NET动态网站制作(7)-- JS(2)