2015-08-26 6 views
5

उदाहरण के लिए, यदि एक क्वेरी स्ट्रिंग में 2 अपेक्षित पैरामीटर हैं, तो कहें। param1 = "abc" & param2 = "def"अनुरोध की क्वेरी स्ट्रिंग में 'अज्ञात' पैरामीटर की आपूर्ति की जाने वाली जांच कैसे करें?

मुझे पता है कि Request.QuerySring["abc"] क्वेरी स्ट्रिंग में "abc" की जांच करेगा।

लेकिन अगर उपयोगकर्ता param1 या param2 के अलावा किसी और चीज में प्रवेश करता है तो क्या सत्यापित करने का कोई तरीका है?

धन्यवाद।

+0

आपको परवाह क्यों है? यदि उपयोगकर्ता पहचानकर्ता के साथ एक मान दर्ज करता है जिसे आप अपने कोड में उपयोग नहीं करते हैं, तो यह वैसे भी अर्थहीन है। –

+8

http://stackoverflow.com/questions/2375372/is-there-a-way-to-get-all-the-querystring-name-value-pairs-into-a-collection – JleruOHeP

उत्तर

2

हाँ, आप AllKeys उपयोग कर सकते हैं:

Request.QueryString.AllKeys

'param1' और 'param2' से अलग इस्तेमाल किया मापदंडों की सूची प्राप्त करने के लिए:

var expectedParams = new [] { "param1", "param2" }; 
var additionalParams = Request.QueryString.AllKeys.Where(k => !expectedParams.Contains(k)); 
0

आप Request.QuerySring["param1"] पुनः प्राप्त करने का प्रयास करें आपको मूल्य एबीसी मिलेगा। अब यदि उपयोगकर्ता क्वेरी-स्ट्रिंग के KEYS को बदलता है तो आप इसे प्राप्त नहीं कर पाएंगे क्योंकि आप KEYS द्वारा क्वेरी-स्ट्रिंग मान पुनर्प्राप्त कर रहे हैं। इसलिए आपको उपयोगकर्ताओं के इनपुट को प्रमाणित करने की आवश्यकता नहीं है।

संबंधित मुद्दे