您的位置:首页 > 编程学习 > ASP.NET > 正文

Request.Url的值有可能会带端口号

更多 时间:2017-6-1 类别:编程学习 浏览量:135

Request.Url的值有可能会带端口号

Request.Url的值有可能会带端口号

1、一个常见的应用场景

在A页面点击提交按钮,如果用户没有登录,则跳转到登录页面,登录完成后,回跳到当前页面。

 

2、常见做法

利用Request.Url,获取当前页面,然后赋值给ReturnUrl参数,登录成功后,回跳到ReturnUrl参数指定的页面。

即:Response.Redirect("/user/login?ReturnUrl="+Request.Url)。

 

3、存在的问题

如果这个网站做了负载均衡,指定的网站端口号不是80端口,则使用Request.Url,获取的网站URL中,含有端口号,类似于:studyofnet.com:123/news/list。这样会跳到 studyofnet.com:123/news/list 页面时,则会报错。

 

4、解决方法

Response.Redirect("/user/login?ReturnUrl=http://www.studyofnet.com/" + Request.Url.Query)。

即:ReturnUrl后面明确指定当前页面的URL地址,然后通过 Request.Url.Query 获取URL问号后面的所有参数信息。

 

标签:Request
您可能感兴趣