2009-10-30 14 views
10

मैं रूट में उपयोग किए गए किसी भी मान को एन्कोड करने के लिए HttpUtility.UrlEncode का उपयोग करता हूं।उचित यूआरएल एनकोड स्पेस कैरेक्टर

मैंने पहले से ही एन्कोडिंग आगे स्लैश के साथ एक समस्या हल की है। मेरे पास अब नई समस्या रिक्त स्थान के साथ है। एक स्थान + के रूप में एन्कोड किया गया है।

यह वी.एस. पर काम करता है एकीकृत वेबसर्वर, लेकिन मैं IIS7 में विंडोज सर्वर 2008 पर अगर मैं यूआरएल http://localhost/Home/About/asdas+sdasd

मैं त्रुटि 404.11 मिलता है इसके साथ कोई समस्या आती है - अनुरोध डबल एस्केप अनुक्रम है।

मुझे पता है कि मैं बस "% 20" द्वारा स्थान को प्रतिस्थापित कर सकता हूं, लेकिन मैं खुद प्रोपर एन्कोडिंग की परवाह नहीं करना चाहता हूं। वहाँ एमवीसी के लिए UrlEncoder का उपयोग करने के लिए तैयार है?

उत्तर

19

''% 20 का उपयोग HttpUtility.UrlPathEncode पर किया गया।

+3

लेकिन UrlPathEncode एन्कोड करने में विफल रहता है & –

0

कोई यूआरएल एन्कोडिंग यूआरएल के पथ घटक पर काम करने के लिए डिज़ाइन किया गया है, इसलिए कारण है, क्योंकि अलग-अलग योजनाओं में सुरक्षित सूची में अलग-अलग वर्ण होते हैं। अपने पुस्तकालयों urlencoder की तलाश करें और बस यूआरएल के पथ और उपरोक्त भाग में इसका इस्तेमाल करें।

0
@HttpUtility.UrlPathEncode(path) 

UrlPathEncode सिर्फ बल्कि पूरे यूआरएल एन्कोडिंग से यूआरएल के रास्ते encodes,।

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