码迷,mamicode.com
首页 > Web开发 > 详细

【ASP.NET】同一URL根据不同设备跳到不同页面

时间:2014-07-03 10:14:19      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:android   cWeb   style   blog   http   color   

     我们都知道,现在的新大型网站,如果输入www开头的网址,网站会自动判别设备,并跳转到合适的页面,来自于PC和移动端最终访问的真实url会不同。解决方案如下:

     在网站的默认页面Defau.aspx的Default.aspx.cs文件的Page_Load方法中加入如下代码:

string u = Request.ServerVariables["HTTP_USER_AGENT"];
Regex b = new Regex(@"android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|m  mp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xi  ino|ucweb|mqqbrowser", RegexOptions.IgnoreCase | RegexOptions.Multiline);
if (b.IsMatch(u))
{
    Response.Redirect("Mobile/HTML/index.html");
}
else
{
    Response.Redirect("PC/HTML//index.htm");
}

     其中Response.Redirect方法中跳转的路径为实际页面相对于WebSite.UI的路径。if中为手机版页面路径,else中为电脑版页面路径。

     该功能原理为:浏览器访问同台页面时,会发出叫HTTP_USER_AGENT的服务器变量请求。请求中会带上浏览器的信息。通过正则表达式匹配,如果浏览器信息中带有正则中的任意一项,则匹配手机页面成功,跳转到手机页面。如果都不能匹配,就会跳转到电脑页面。正则表达式中的信息为现有手机浏览器信息,以后随着手机浏览器花样不断翻新,需要不断往里面添加表达式项。

【ASP.NET】同一URL根据不同设备跳到不同页面,布布扣,bubuko.com

【ASP.NET】同一URL根据不同设备跳到不同页面

标签:android   cWeb   style   blog   http   color   

原文地址:http://www.cnblogs.com/BruceGoGo/p/3818249.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!