asp.net检测是否为移动设备

17 篇文章 0 订阅
6 篇文章 0 订阅

随着移动设备的流行,兼容web的项目的需求,不断的增加,那么我们怎么样判断,是否为移动端设备请求的服务端呢,asp.net为我们提供了这样的写法:

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;
    }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值