(यह एक और संकीर्ण प्रश्न है)क्यों अनुरोध .QueryString ["ReturnUrl"] यूआरएल में मौजूद होने पर भी शून्य लौट रहा है?
मेरी एएसपीनेट एमवीसी कार्रवाई में, मैं देख रहा हूं कि रिटर्न यूआरएल मान यूआरएल में है या नहीं।
मेरे यूआरएल इस तरह दिखता है:
http://localhost:56112/user/login?ReturnUrl=/user/settings
मेरी कार्रवाई में, मैं अगर उस क्वेरी स्ट्रिंग मूल्य मौजूद रहा हूँ, और यह शून्य लौटा रहा है ?? यह कैसे हो सकता है?
कोड:
if(Request.QueryString["ReturnUrl"] != null)
{
}
आवेदन के माध्यम से ट्रेसिंग, यह सिर्फ अगर बयान के शरीर अर्थात यह NULL है लंघन है।
यह कैसे समझाया जा सकता है?
अद्यतन
नियंत्रक कि जाँच करता है, तो उपयोगकर्ता के लॉग इन किया है, मैं एक ActionFilter ऐसा दिखता है जैसे है में:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
// some stuff
string loginUrl = FormsAuthentication.LoginUrl + "/user/settings;
context.Response.Redirect(loginUrl);
}
मैं सिर्फ एक त्वरित परीक्षण भाग गया, और यह मेरे लिए ठीक काम किया।क्या आप किसी भी कस्टम http हैंडलर या पसंद कर रहे हैं? –
इसे भी देखें: http://stackoverflow.com/questions/1783059/query-string-with-slashes-not-working-in-asp-net-mvc –
@jacerhea मेरे पास एक कस्टम फ़िल्टर है जो करता है लॉगिन पेज पर रीडायरेक्ट करें। – Blankman