asp.net - Request.URL doubles query string parameters? -
मैं इस तरह एक URL का अनुरोध करता हूं:
http: // mylocalsite / virtual / page ? .aspx var1 = 1 & amp; var2 = 2 & amp; var3 = 3
मैं FormsAuthentication
उपयोग कर रहा हूँ और अप्रमाणित हूँ, इसलिए मैं पुनः निर्देशित कर रहा हूँ। यह वही ब्राउज़र स्थान पट्टी से पता चलता है:
http:? //mylocalsite/virtual/login.aspx ReturnUrl = / आभासी / page.aspx var1 = 1 & amp; var2 = 2 & amp; var3 = 3
login.aspx की pageload घटना मैं यूआरएल के दो तरीके का निरीक्षण करने की कोशिश में:
के रूप में स्ट्रिंग = Request.Url मंद example2 के रूप में मंद example1 स्ट्रिंग = अनुरोध। यूआरएल। शैइम & amp; ": //" & amp; अनुरोध। यूआरएल। प्राधिकरण & amp; Request.RawUrl
यह मैं क्या मिलता है:
<कोड> 'उदाहरण 1 http: //mylocalsite/virtual/login.aspx ReturnUrl = / आभासी / page.aspx var1 = 1 & amp; var2 = 2 & amp; var3 = 3 & amp; var1 = 1 & amp; var2 = 2 & amp; var3 = 3 'उदाहरण 2 - है urlencoded http:? //mylocalsite/virtual/login.aspx ReturnUrl =% 2fvirtual% 2fpage.aspx% 3fvar1% 3D1% 26var2% 3D2% 26var3% 3d3% 26var1% 3D1% 26var2% 3D2% 26var3% 3d3
क्यों मेरी क्वेरी स्ट्रिंग इन उदाहरणों में से दोनों में दोगुना कर रही है ?
यह डिज़ाइन द्वारा किया जाता है ताकि लॉगिन के दौरान आपके उन क्वेरी स्ट्रिंग पैरामीटर तक पहुंच हो। उन मापदंडों को भी पोस्ट-लॉगिन में भी पुनर्निर्देशित करने के लिए संरक्षित किया जाना चाहिए - इसलिए वे यूआरएल को भी एन्कोडेड कर सकते हैं। अधिक विस्तृत व्याख्या के लिए देखें।
Comments
Post a Comment