用户手机客户端登录Login页面跳转到手机MobileLogin页面问题总结
来源:互联网 发布:java io 装饰器模式 编辑:程序博客网 时间:2024/04/24 18:06
最近的一个项目中要实现区别手机移动客户端还是PC客户端,然后让手机客户端的用户跳转到MobileLogin页面。遇到了一个问题,我反复测试、调试、修改终于就出这个问题的原因。具体问题是这样的:
Login.aspx页面是这样的:有一个连接<a class ="a04" id = "a04" href = "<%=os ?MobileLogin.aspx:'#'%>"></a>
后台代码定义了一个静态全局变量:public static bool os = ISWAPBroser(); ;
protected void Page_Load(object sender, EventArgs e)
{
string userAgent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
其他略。。。。。
}
#region
/// <summary>
/// 获取客户端是是否手机
/// </summary>
/// <returns></returns>
public bool ISWAPBroser()
{
//UserAgent
string userAgent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
String[] mobileAgents = {"iphone", "android", "phone", "mobile", "wap", "netfront",
"java", "opera mobi", "opera mini", "ucweb", "windows ce",
"symbian", "series", "webos", "sony", "blackberry", "dopod",
"nokia", "samsung", "palmsource", "xda", "pieplus", "meizu",
"midp", "cldc", "motorola", "foma", "docomo", "up.browser",
"up.link", "blazer", "helio", "hosin", "huawei", "novarra",
"coolpad", "webos", "techfaith", "palmsource", "alcatel",
"amoi", "ktouch", "nexian", "ericsson", "philips", "sagem",
"wellcom", "bunjalloo", "maui", "smartphone", "iemobile",
"spice", "bird", "zte-", "longcos", "pantech", "gionee", "portalmmm",
"jig browser", "hiptop", "benq", "haier", "^lct", "320x320", "240x320",
"176x220", "w3c ", "acs-", "alav", "alca", "amoi", "audi", "avan", "benq",
"bird", "blac", "blaz", "brew", "cell", "cldc", "cmd-", "dang", "doco",
"eric", "hipt", "inno", "ipaq", "java", "jigs", "kddi", "keji", "leno",
"lg-c", "lg-d", "lg-g", "lge-", "maui", "maxo", "midp", "mits", "mmef",
"mobi", "mot-", "moto", "mwbp", "nec-", "newt", "noki", "oper", "palm",
"pana", "pant", "phil", "play", "port", "prox", "qwap", "sage", "sams",
"sany", "sch-", "sec-", "send", "seri", "sgh-", "shar", "sie-", "siem",
"smal", "smar", "sony", "sph-", "symb", "t-mo", "teli", "tim-", "tosh",
"tsm-", "upg1", "upsi", "vk-v", "voda", "wap-", "wapa", "wapi", "wapp",
"wapr", "webc", "winw", "winw", "xda", "xda-", "Googlebot-Mobile"};
bool isMoblie = false;
string userAgent1 = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
if (userAgent1 != null)
{
for(int i=0;i<mobileAgents.Length;i++)
{
if (userAgent1.ToLower().IndexOf(mobileAgents[i]) >= 0)
{
isMoblie = true;
break;
}
}
}
return isMoblie;
}
#endregion
这样写的目的是想在页面加载之前确定链接地址。但是我却忽略了一个问题,就是我此时获得userAgent 是空的,所以ISWAPBroser()返回的值一直是false,找到最终原因,所以解决的办法就有了。如下:
protected void Page_Load(object sender, EventArgs e)
{
string userAgent = HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"];
bool os = ISWAPBroser();
}
- 用户手机客户端登录Login页面跳转到手机MobileLogin页面问题总结
- ASP检测手机客户端并跳转到相应页面
- login 跳转 到 tabbar 页面(登录界面的跳转)
- 根据Agent跳转到手机页面
- Intent 跳转到手机拨打电话页面
- iOS 跳转到手机设置各种页面
- 8.用户模块:跳转到登录页面
- 手机访问网站自动跳转到手机页面
- 解决用户退出登录不会自动跳转到登录页面的问题
- 登录之后跳转到登录之前的页面 going to previous page after login
- PHP判断是否是手机浏览页面,是的话跳转到手机页面。
- WebView 关于打开页面不能跳转到手机拨号界面问题
- iOS 从APP 跳转到手机设置页面
- iOS程序跳转到手机的设置页面
- iOS10如何跳转到手机设置对应的页面
- Android手机定位未开启,跳转到GPS开启页面
- 前端点击手机号码跳转到手机拨号页面
- 客户端跳转到指定页面
- Grey Area(数学统计题)
- Codeforces Round #207 (Div. 2)---C. Knight Tournament(set乱搞)
- 对动态规划算法的顿悟(一)
- java调用R出错
- C/C++编译链接过程详解
- 用户手机客户端登录Login页面跳转到手机MobileLogin页面问题总结
- Android Studio运行项目报错: Failed to complete Gradle execution
- InnoDB列压缩,提升DB性能
- 九度online judge-A + B
- Map集合的基本操作
- POJ_2151_Check the difficulty of problems_概率DP
- Map集合的两种取出方式
- Linux GPIO操作分析 - Exynos 5260
- OV手机无线快门测评