【ASP.NET】如何跳转到上一个页面
2012-12-10 11:07
316 查看
当用户浏览网页的时候会在某个地方需要用户登陆才能继续浏览,用户登陆之后会自动跳转到刚刚浏览的页面。这个步骤是怎么实现的呢?net小伙在查阅相关资料实践之后终于明白了,其实很简单,先分享给大家吧。
当用户在浏览一个页面的时候,如果需要登录,就在此页面记录当前的URL,然后传到都登录页面,登录成功之后,通过接收的值返回到上一个页面。这里有两种方法:
①:通过页面传值的方法:
先获取当前页面的URL:string url = Request.UrlReferrer;
通过代码进行传值:Response.Redirect( "/login.aspx?url= "+System.Web.HttpUtility.UrlEncode(url));
登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Request.QueryString[ "url "].ToString()));
完成上面的步骤就可以实现跳转上一个页面了。
②:通过设置Session的值来实现此功能:
同样先获取当前页面的URL:string url = Request.UrlReferrer;
然后设置Session的值:Session["url"] = url;
登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Session["url"].ToString()));
设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
"http://"是协议名
"www.jb51.net"是域名
"aaa"是站点名
"bbb.aspx"是页面名(文件名)
"id=5&name=kelli"是参数
【1】获取 完整url (协议名+域名+站点名+文件名+参数)
代码如下:
string url=Request.Url.ToString();
url= http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
【2】获取 站点名+页面名+参数:
代码如下:
string url=Request.RawUrl;
(或 string url=Request.Url.PathAndQuery;)
url= /aaa/bbb.aspx?id=5&name=kelli
【3】获取 站点名+页面名:
代码如下:
string url=HttpContext.Current.Request.Url.AbsolutePath;
(或 string url= HttpContext.Current.Request.Path;)
url= aaa/bbb.aspx
【4】获取 域名:
代码如下:
string url=HttpContext.Current.Request.Url.Host;
url= www.jb51.net
【5】获取 参数:
代码如下:
string url= HttpContext.Current.Request.Url.Query;
url= ?id=5&name=kelli
代码如下:
Request.RawUrl:获取客户端请求的URL信息(不包括主机和端口)------>/Default2.aspx
Request.ApplicationPath:获取服务器上ASP.NET应用程序的虚拟路径。------>/
Request.CurrentExecutionFilePath:获取当前请求的虚拟路径。------>/Default2.aspx
Request.Path:获取当前请求的虚拟路径。------>/Default2.aspx
Request.PathInfo:取具有URL扩展名的资源的附加路径信息------>
Request.PhysicalPath:获取与请求的URL相对应的物理文件系统路径。------>E:\temp\Default2.aspx
Request.Url.LocalPath:------>/Default2.aspx
Request.Url.AbsoluteUri:------>http://localhost:8080/Default2.aspx
Request.Url.AbsolutePath:---------------------------->/Default2.aspx
当用户在浏览一个页面的时候,如果需要登录,就在此页面记录当前的URL,然后传到都登录页面,登录成功之后,通过接收的值返回到上一个页面。这里有两种方法:
①:通过页面传值的方法:
先获取当前页面的URL:string url = Request.UrlReferrer;
通过代码进行传值:Response.Redirect( "/login.aspx?url= "+System.Web.HttpUtility.UrlEncode(url));
登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Request.QueryString[ "url "].ToString()));
完成上面的步骤就可以实现跳转上一个页面了。
②:通过设置Session的值来实现此功能:
同样先获取当前页面的URL:string url = Request.UrlReferrer;
然后设置Session的值:Session["url"] = url;
登录成功之后加上:Response.Redirect(System.Web.HttpUtility.UrlDecode(Session["url"].ToString()));
设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
"http://"是协议名
"www.jb51.net"是域名
"aaa"是站点名
"bbb.aspx"是页面名(文件名)
"id=5&name=kelli"是参数
【1】获取 完整url (协议名+域名+站点名+文件名+参数)
代码如下:
string url=Request.Url.ToString();
url= http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
【2】获取 站点名+页面名+参数:
代码如下:
string url=Request.RawUrl;
(或 string url=Request.Url.PathAndQuery;)
url= /aaa/bbb.aspx?id=5&name=kelli
【3】获取 站点名+页面名:
代码如下:
string url=HttpContext.Current.Request.Url.AbsolutePath;
(或 string url= HttpContext.Current.Request.Path;)
url= aaa/bbb.aspx
【4】获取 域名:
代码如下:
string url=HttpContext.Current.Request.Url.Host;
url= www.jb51.net
【5】获取 参数:
代码如下:
string url= HttpContext.Current.Request.Url.Query;
url= ?id=5&name=kelli
代码如下:
Request.RawUrl:获取客户端请求的URL信息(不包括主机和端口)------>/Default2.aspx
Request.ApplicationPath:获取服务器上ASP.NET应用程序的虚拟路径。------>/
Request.CurrentExecutionFilePath:获取当前请求的虚拟路径。------>/Default2.aspx
Request.Path:获取当前请求的虚拟路径。------>/Default2.aspx
Request.PathInfo:取具有URL扩展名的资源的附加路径信息------>
Request.PhysicalPath:获取与请求的URL相对应的物理文件系统路径。------>E:\temp\Default2.aspx
Request.Url.LocalPath:------>/Default2.aspx
Request.Url.AbsoluteUri:------>http://localhost:8080/Default2.aspx
Request.Url.AbsolutePath:---------------------------->/Default2.aspx
相关文章推荐
- 如何使用 asp.net 4.0 新特性 路由功能 有助于seo优化 给一个 asp.net web项目(网站项目) 增加路由功能 ,继承,给根据路由生成的url的结尾,增加一个有利于seo优化的斜杠 /,跳转到一个路由生成的url页面
- 【ASP.NET】登陆成功后如何跳转到上一个页面
- asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面
- asp.net 网站所有请求跳转到同一个页面
- asp.net如何在事件中启动线程来打开一个页面
- 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置
- 【Asp.Net】:如何处理大量页面的身份验证跳转
- Asp.Net弹出一个先对话框然后跳转到另一个页面 小结
- asp.net如何实现定时页面跳转
- [原创] ASP.NET 中如何弹出提示窗口然后导向另外一个页面
- asp.net 同一个页面中如何保持变量的值在多个事件中变换???
- ASP.NET MVC中如何在当前页面上弹出另外一个页面
- 关于asp.net(c#),webconfig中如何定义一个字符串让所有页面共同使用?
- asp.net跳转到另外一个页面的中间部位和将站点生成静态页
- 在ASP.NET 中如何返回到上一个页面
- asp.net 中如何请求一个其它网站的页面
- 在asp.net 中 如何在登录成功后2秒内自动跳转到登录前的页面
- ASP.NET MVC中如何实现页面跳转
- 页面中包含同一个asp.net控件多次,如何产生不同的javascript方法名
- 在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单