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

我们都知道,现在的新大型网站,如果输入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

时间: 2024-10-24 21:16:19

【ASP.NET】同一URL根据不同设备跳到不同页面的相关文章

asp.net 重写OnException返回json或跳转新页面

protected override void OnException(ExceptionContext filterContext) { // 此处进行异常记录,可以记录到数据库或文本,也可以使用其他日志记录组件. // 通过filterContext.Exception来获取这个异常. filterContext.ExceptionHandled = true;//组织web.config配置customerror处理 string requestType = filterContext.H

asp.net - GridView根据linkButton值不同跳转不同页面

一,当前页面中,前台界面的主要代码: <asp:TemplateField HeaderText="姓名"> <ItemTemplate> <!--根据id去寻找详细信息--> <asp:LinkButton id="hlinkName" runat="server" CommandName="getDetail" CommandArgument= '<%# Bind("

Asp.net实现URL重写

原文:Asp.net实现URL重写 [概述] URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程.重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力:而且在你改变了自己的网站结构后,无需要求用户修改他们的书签,无需其他网站修改它们的友情链接:它还可以提高你的网站的安全性:而且通常会让你的网站更加便于使用和更专业. [过程] [方法] 1.在asp.net请求管道中重写路径 2.通过组件,如微软的UrlRewriter.dll

asp.net获取URL和IP地址

(转自:http://www.cnblogs.com/JuneZhang/archive/2010/11/26/1888863.html) HttpContext.Current.Request.Url.ToString() 并不可靠.如果当前URL为 http://localhost/search.aspx?user=http://csharp.xdowns.com&tag=%BC%BC%CA%F5 通过HttpContext.Current.Request.Url.ToString()获取到

分享url带中文参数,打开html操作完毕跳转jsp页面中文乱码解决

1.在app端分享参数组合时不对传递的url进行任何编码. 2.打开html页面时使用 escape函数对有中文的参数进行编码 escape(GetQueryString("parameter")); 3.操作完毕跳转.jsp页面时,需要使用jsp解码,不能使用javascript函数进行解码否则 乱码 <%@page import="java.net.URLDecoder" %> androidLoadStoreUrlResterAlert=URLDe

在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的办法

在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.Redirect方法跳转到自定义错误页,但有时候(特别是当站点部署到IIS后)Application_Error方法中使用Response.Redirect方法会失效,当Asp.Net发生异常错误后还是显示出来的是Asp.Net的默认错误黄页.其根本原因是尽管我们在Application_Error方

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL

ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL 引言--- 在现今搜索引擎制霸天下的时代,我们不得不做一些东西来讨好爬虫,进而提示网站的排名来博得一个看得过去的流量. URL重写与优化就是搜索引擎优化的手段之一. 假如某手机网站(基于ASP.NET MVC)分类页面URL是这样的, http://www.xxx.com/category/showcategory?categoryid=1000&view=list&orderby=price&p

asp.net 获取url

string url = Request.Url.ToString(); asp.net 获取url,码迷,mamicode.com

[ASP.NET MVC] URL网址路由包含&ldquo;/&rdquo;斜线

ASP.NET MVC 网址包含"/"斜线 笔者碰到一个状况是,URL带入的参数是可能有"/"斜线的(使用者输入)像是以下 1.运行正常 http://localhost:45405/Home/Product?name=HTC/M8/手机套 2.运行正常 http://localhost:45405/Home/Product?name='抗涨'白人牙膏_特大号 到目前为止都还没问题,但我们为了让URL好看以及优化SEO,我们会做URL Rewriting像是以下 1