2009-10-29 15 views
5

में रिटर्न 307 अस्थायी रीडायरेक्ट एएसपी.नेट एमवीसी में नियंत्रक से 307 Temporary Redirect वापस करना संभव है?एएसपी.नेट एमवीसी

I कभी-कभी को एक फॉर्म से दूसरे यूआरआई में सबमिट किए गए मानों को फिर से POST करने की आवश्यकता है।

क्लाइंट पक्ष (इस प्रकार को छोड़कर) पर चयन करने के लिए जावास्क्रिप्ट का उपयोग करना एक विकल्प नहीं है।

GET के माध्यम से पुनर्निर्देशन एक विकल्प नहीं है क्योंकि पोस्ट किए गए डेटा में 8k स्ट्रिंग शामिल है जिसका अर्थ है कि यूआरआई कुछ (कई?) ब्राउज़र के लिए बहुत लंबा होगा।

क्या यह भी संभव है?

उत्तर

3

निम्न आलेख पर एक नजर डालें - आप 307 के लिए उसी तकनीक का उपयोग कर सकते हैं:

301 Redirects

+0

मुझे * कभी-कभी * पारित होने वाले डेटा के आधार पर रीडायरेक्ट करने की आवश्यकता होती है। Routehandler से मॉडल (जहां तर्क है) तक पहुंच गलत लगता है। Routehandler में तर्क की एक प्रति [भी एक प्रति] और भी बदतर लग रहा है। –

+0

रूटहेन्डलर का उपयोग करना इस तरह की समस्या को हल करने के लिए एक अच्छा तरीका है। - तर्क में शामिल होने पर बस नहीं। –

+1

आप किस मामले में एक अलग कार्रवाई परिणाम बना सकते हैं - फिर यहां एक उदाहरण है जिसे आप संशोधित कर सकते हैं: http://www.stum.de/2008/10/22/permanentredirectresult/ – FinnNk

6

एक MVC कार्रवाई से एक 307 रीडायरेक्ट परिणाम लौटने के लिए, निम्न का उपयोग करें:

public ActionResult Action() 
{ 
    string url = GetRedirectUrl() 
    HttpContext.Response.AddHeader("Location", url); 
    return new HttpStatusCodeResult(307); 
} 
संबंधित मुद्दे