1.C#通过User-Agent 处理

       //判断 是否来自手机终端
public bool checkMoble()
{
string userAgent = Request.Headers["User-Agent"];
if (userAgent.IndexOf("Noki") > - || // Nokia phones and emulators
userAgent.IndexOf("Android") > - || //Android 手机
userAgent.IndexOf("iPhone") > - || //iPhone 手机
userAgent.IndexOf("Eric") > - || // Ericsson WAP phones and emulators
userAgent.IndexOf("WapI") > - || // Ericsson WapIDE 2.0
userAgent.IndexOf("MC21") > - || // Ericsson MC218
userAgent.IndexOf("AUR") > - || // Ericsson R320
userAgent.IndexOf("R380") > - || // Ericsson R380
userAgent.IndexOf("UP.B") > - || // UP.Browser
userAgent.IndexOf("WinW") > - || // WinWAP browser
userAgent.IndexOf("UPG1") > - || // UP.SDK 4.0
userAgent.IndexOf("upsi") > - || //another kind of UP.Browser
userAgent.IndexOf("QWAP") > - || // unknown QWAPPER browser
userAgent.IndexOf("Jigs") > - || // unknown JigSaw browser
userAgent.IndexOf("Java") > - || // unknown Java based browser
userAgent.IndexOf("Alca") > - || // unknown Alcatel-BE3 browser (UP based) userAgent.IndexOf("MITS") > - || // unknown Mitsubishi browser
userAgent.IndexOf("MOT-") > - || // unknown browser (UP based)
userAgent.IndexOf("My S") > - ||// unknown Ericsson devkit browser
userAgent.IndexOf("WAPJ") > - ||//Virtual WAPJAG www.wapjag.de
userAgent.IndexOf("fetc") > - ||//fetchpage.cgi Perl script from www.wapcab.de userAgent.IndexOf("ALAV") > - || //yet another unknown UP based browser
userAgent.IndexOf("Wapa") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("UCWEB") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("BlackBerry") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("J2ME") > - || //another unknown browser (Web based "Wapalyzer")
userAgent.IndexOf("Oper") > -)
{
return true;
}
else
{
return false;
}
}

2.考虑asp.net mvc 
里面有for mobile的模版

3.获取浏览器的属性

HttpBrowserCapabilities bc=Request.Browser;
Response.Write("<script language='javascript'>alert('" + bc.Browser + "');</script>");

 4.js判断

<script type="text/javascript">
var bro = navigator.userAgent;
//alert(bro);
// alert(bro.indexOf("Windows Phone"));
// iPad 浏览器navigator.userAgent(包含iPad)
if (bro.indexOf("NetFront") > 0 || bro.indexOf("UCWEB") > 0
|| bro.indexOf("iPhone") > 0 || bro.indexOf("Windows CE") > 0
|| bro.indexOf("MIDP-2.0") > 0 || bro.indexOf("Android") > 0
|| bro.indexOf("Opera Mini") > 0 || bro.indexOf("SymbianOS") > 0
|| bro.indexOf("Windows Phone") > 0) {
window.open("Wap1/Index.aspx", "_top");
}
// else if (bro.indexOf("Windows NT") > 0) {
// window.open("NewWeb/default.html", "_top");
// }
else {
window.open("NewWeb/default.html", "_top");
}
</script>

(如有问题到博主网站 blog.uoolo.com 或 wuchao.cnblogs.com 留言)

手机版和PC版识别的更多相关文章

  1. 自动判断手机版和pc版

    <html><head><title>欢迎来到手机版</title><script>var ua = navigator.userAgent ...

  2. wap版和pc版的旋转js

    <script type="text/javascript"> var evt = "onorientationchange" in window ...

  3. Nginx学习总结(2)——Nginx手机版和PC电脑版网站配置

    考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本.访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面. 1.判断 ...

  4. wifi万能钥pc版提示手机未连接

     关于PC版万能钥匙的用法 大部分人都是在“未连接到手机”再不知道怎么搞了 怎么连接到手机呢? 首先要把你的手机变成路由器 让电脑连上 这个都知道怎么搞吧 手机版万能钥匙有个一键让手机变成热点 再用电 ...

  5. 网络编程之PC版与Android手机版带断点续传的多线程下载

    一.多线程下载         多线程下载就是抢占服务器资源         原理:服务器CPU 分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服 ...

  6. DTcms手机版使用余额支付 提示信息跳转到PC版的错误。以及提交订单不打开新页面

    手机版使用余额支付 提示信息跳转到PC版的错误 引起错误的原因是中间需要提交到DTcms.Web\api\payment\balance\index.aspx去处理 导致BasePage.cs中的li ...

  7. 手机访问pc版网站自动跳转为手机版页面

    1.PC版首页</head>标签前加上以下脚本 <script src="/tools/browser_redirect.ashx"></script ...

  8. 手机浏览PC版页面出现背景图片显示不全的问题解决方案

    手机浏览PC版页面出现背景图片显示不全 给定宽高的值

  9. 全能直播王PC版-0707-full_codecs

    全能直播王是一款高清流畅的全平台的电视直播应用,让您随时随地看高清电视直播. [全能特色] 1. 收录全国1400多个直播频道,包括湖南卫视.江苏卫视.浙江卫视等热门频道. 2. 频道多线路自动选择, ...

随机推荐

  1. (转) 值不能为空。参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explorer)

    打开MSSQL 2008 R2的时候,展开数据库都显示以下的错误提示: 值不能为空.参数名viewinfo(microsoft.sqlserver.management.sqlstudio.explo ...

  2. repeater截取字数

    <%# Eval("ArticleName").ToString().Length > 14 ? Eval("ArticleName").ToStr ...

  3. 学习unity的第一个小游戏(Roll the ball)的笔记

    1.摄像机的跟随运动,逻辑就是保持摄像机跟主角的距离不变(Undate()函数). offset=trandform.position-player.position. Undate() { tran ...

  4. java递归删除指定目录下的文件和文件夹

    public static boolean deleteFolder(String delDir) { File delFolder = new File(delDir); File[] delFil ...

  5. C# post请求 HttpWebRequest

    //body是要传递的参数,格式"roleId=1&uid=2" //post的cotentType填写: //"application/x-www-form-u ...

  6. CSS优先级、引入方式、Hack

    优先级 important > 内联(1,0,0,0) > id(1,0,0) > class(1,0) > element(1) > *通配符 css引入方式 方式一: ...

  7. POJ3041 二分图最大匹配

    问题:POJ3041 分析: 构造二分图:令A = B = { 1, 2, ... , n }, 分别代表行号集与列号集.假如第i行第j列有一颗行星,则连接Ai与Bj, 表示必须从Ai(即第i行),B ...

  8. 我和小美的撸码日记--基于MVC+Jqgrid的.Net快速开发框架

    前言:以前的帐号没有发首页的权限,特此把这篇文章从另外一个博客移过来,这篇是<我和小美的撸码日记>的序 一转眼务农6年了,呆过大公司也去过小作坊,码农的人生除了抠腚还是抠腚.在所有呆过的公 ...

  9. uiautomator <一> 编译运行

    uiautomator testcase 一.新建Java工程 二.导入lib包 android.jar 和 uiautomator.jar ,选中点击右键Add to buildPath 三.新建测 ...

  10. Win8/Win8.1都有哪些版本?我该选择哪个?(二)

    Windows版本分类比较复杂,下文主要为大家理清Win8/Win8.1的版本种类.如果想了解更多,可以结合<Win7/Win8/Win8.1众多版本,我该选择哪个?>一文来了解. 细数W ...