2

次のような 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 イベントで、次の 2 つの方法で URL を調べようとします。

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

これらの例の両方でクエリ文字列が 2 倍になっているのはなぜですか?

4

1 に答える 1