2012-07-26 15 views
13

मैं एक चरएएसपी.NET कच्चे यूआरएल के क्वेरी स्ट्रिंग पैरा को कैसे पढ़ा जाए?

string rawURL = HttpContext.Current.Request.RawUrl; 

मैं इस यूआरएल के लिए क्वेरी स्ट्रिंग पैरामीटर पढ़ा करते है?

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/1206548/most-optimal-way-to-parse-querystring-within-a-string- इन-सी-तेज – LittleBobbyTables

उत्तर

25

यह शायद यह है कि आप क्या कर रहे हैं के बाद

Uri theRealURL = new Uri(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.RawUrl); 

    string yourValue= HttpUtility.ParseQueryString(theRealURL.Query).Get("yourParm"); 
+1

वास्तव में? क्या यह सब वास्तव में जरूरी है? – james31rock

+0

यह वही है जो मैं चाहता था। – GilliVilla

+2

@ james31rock yes..really :) प्रश्न यह स्पष्ट नहीं था कि कुछ प्रतिभाओं ने इसे कम कर दिया है ... कच्चेर को इस तरह से संभालना होगा। दूसरों ने जो उल्लेख किया है वह डिफ़ॉल्ट क्वेरीस्ट्रिंग है। – GilliVilla

6

RawUrl माध्यम से जाने की कोई आवश्यकता नहीं - Request वस्तु पहले से ही एक पार्स संस्करण शामिल Request.QueryString संपत्ति का उपयोग कर।

यह एक अनुक्रमित NameValueCollection है।

+3

वह विशेष रूप से RawUrl पर ऐसा करने के लिए पूछ रहा है। RawUrl क्वेरीस्ट्रिंग और Request.QueryString कुछ स्थितियों में संबंधित नहीं हैं, जैसे कि आप यूआरएल रीराइटिंग कर रहे हैं। रॉउरल का उपयोग करने वाला तथ्य यह है कि वह यूआरएल रीराइटिंग का उपयोग कर एक मजबूत संकेत है। – NickG

+0

अतीत में मैंने 'Request.Params' (@Piotr द्वारा सुझाया गया) भी उपयोग किया है जो कुछ मामलों में ठीक है। अन्य मामलों में मैंने @Oded द्वारा सुझाए गए अनुसार 'Request.QueryString' पर स्विच किया है। 'Request.QueryString' पैरामीटर सत्यापन को ट्रिगर नहीं करता है, जिसे आप उदाहरण के लिए टालना चाह सकते हैं जब आप HTML को इनपुट के रूप में स्वीकार करते हैं। – Manfred

0

अनुरोध ऑब्जेक्ट पर पैराम्स संपत्ति है जो आपको आसानी से करने देगी। आपको इसे स्वयं पार्स करने की ज़रूरत नहीं है।

0

इस प्रयास करें:

string rawURL = HttpContext.Current.Request.ServerVariables["query_string"];

-3

यह आपकी समस्या का समाधान होगा .....

string strReq = ""; 
strReq = HttpContext.Current.Request.RawUrl; 
strReq = strReq.Substring(strReq.IndexOf('?') + 1);