का उपयोग कर एक क्रिया में एक स्ट्रिंग पैरामीटर पास करना मैं जानना चाहता हूं कि RedirectToAction() का उपयोग कर स्ट्रिंग पैरामीटर को कैसे पास करना है।एएसपी.नेट एमवीसी: RedirectToAction()
चलो कहते हैं कि मैं इस मार्ग करते हैं:
routes.MapRoute(
"MyRoute",
"SomeController/SomeAction/{id}/{MyString}",
new { controller = "SomeController", action = "SomeAction", id = 0, MyString = UrlParameter.Optional }
);
और SomeController में, मैं एक पुनर्निर्देशन कर एक कार्रवाई के रूप में निम्नानुसार है:
return RedirectToAction("SomeAction", new { id = 23, MyString = someString });
मैं someString के साथ इस पुनर्निर्देशन की कोशिश की = "@ # $%? & * 1 "और यह हमेशा विफल रहता है, इससे कोई फर्क नहीं पड़ता कि मैं स्ट्रिंग को एन्कोड करता हूं। मैंने इसे HttpUtility.UrlEncode (someString), HttpUtility.UrlPathEncode (someString) के साथ एन्कोड करने का प्रयास किया, और Uri.EscapeUriString (someString) के साथ कोई फायदा नहीं हुआ।
इसलिए मैंने कुछ स्ट्रिंग पास करने के लिए हमें टेम्पाडाटा का सहारा लिया, लेकिन फिर भी, मैं जानना चाहता हूं कि काम से ऊपर कोड कैसे बनाना है, बस मेरी जिज्ञासा को पूरा करने के लिए।
क्या आपने 'rest.rlInfileSystemMapping' और' requestPathInvalidCharacters' को 'web.config' में बदल दिया है? –
@EricYin नहीं, मैंने नहीं किया है। मैं इन दो मानकों से अवगत नहीं था। मैं उन्हें देख लूंगा। –