Request.URL双查询字符串参数?

我请求的URL是这样的:Request.URL双查询字符串参数?

http://mylocalsite/virtual/page.aspx?var1=1&var2=2&var3=3 

我使用FormsAuthentication和我未经验证的,所以我重定向。这是浏览器的地址栏中显示:

http://mylocalsite/virtual/login.aspx?ReturnUrl=/virtual/page.aspx?var1=1&var2=2&var3=3 

在login.aspx的的pageLoad的事件中,我试图从网址两种方式:

Dim example1 as String = Request.Url 

Dim example2 as String = Request.Url.Scheme & "://" & Request.Url.Authority & Request.RawUrl

这就是我得到:

' Example 1 

http://mylocalsite/virtual/login.aspx?ReturnUrl=/virtual/page.aspx?var1=1&var2=2&var3=3&var1=1&var2=2&var3=3

' Example 2 - is URLEncoded

http://mylocalsite/virtual/login.aspx?ReturnUrl=%2fvirtual%2fpage.aspx%3fvar1%3d1%26var2%3d2%26var3%3d3%26var1%3d1%26var2%3d2%26var3%3d3

为什么我的查询字符串在这两个例子中翻倍?

回答:

这是通过设计完成的,因此您可以在登录时访问那些查询字符串参数。这些参数也必须保留,以便在登录后重定向 - 所以它们也会被url编码。有关更详细的解释,请参见Anatomy of Forms Authentication ReturnUrl。

以上是 Request.URL双查询字符串参数? 的全部内容, 来源链接: utcz.com/qa/265901.html

回到顶部