2010-09-29 16 views
6

में उसी रूट पर रीडायरेक्ट करने के लिए (जहां से अनुरोध आया था) मैं आंशिक दृश्य से एक फॉर्म पोस्ट कर रहा हूं जिसे Html.RenderAction के माध्यम से प्रस्तुत किया गया है और मैं उसी पोस्ट पर रीडायरेक्ट करने के लिए फॉर्म पोस्ट के बाद चाहता हूं जहां से अनुरोध आया था।एएसपीनेट एमवीसी

public ActionResult Index() 
{ 
    return PartialView(); 
} 

[HttpPost] 
public ActionResult Index(FormModel input) 
{ 
    ... 
    return //Redirect to the same route 
} 

कोई भी जानता है कि यह कैसे करें?

उत्तर

2

आप अनुरोध वस्तु से UrlReferrer पुनः प्राप्त कर सकते हैं:

return Redirect(HttpContext.Request.UrlReferrer.OriginalString); 
+0

यह काम करता है, लेकिन हम मान जो रूपों में थे ढीला, वे – Omu

+0

वापस नहीं भेजा गया है टेम्पलेट डेटा में फॉर्म डेटा जोड़ें। फिर आप इसे रीडायरेक्ट के बाद पुनर्प्राप्त कर सकते हैं। – Castrohenge

1

मैं फॉर्म पोस्ट में एक क्वेरी स्ट्रिंग जोड़ूंगा, जिसका उपयोग आप नियंत्रक कार्रवाई में पुनर्निर्देशन करने के लिए कर सकते हैं।

<form action="example.com/model/edit?returnurl=http://example.com/Form" method="post"> 

नियंत्रक कार्रवाई ...

[HttpPost] 
public ActionResult Index(FormModel input, string returnUrl) 
{ 
    ... 
    return Redirect(returnUrl); 
}