हाय,ASP.NET MVC में रीडायरेक्ट के साथ जटिल ऑब्जेक्ट पास करें?
मैं एक कार्रवाई है कि इस तरह दिखता है:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Register(AdRegister adRegister, IEnumerable<HttpPostedFileBase> files)
AdRegister एक जटिल वर्ग है और मैं रजिस्टर कार्रवाई में और नीचे एक रीडायरेक्ट विधि करने के लिए इस पारित करने के लिए की जरूरत है, इस तरह:
return this.RedirectToAction("Validate", adRegister);
मान्य कार्रवाई इस तरह दिखता है:
public ActionResult Validate(AdRegister adRegister)
मुझे पता है कि मैं सरल पैरामीटर पास कर सकता हूं लेकिन इस मामले में यह एक जटिल वस्तु है। यह उदाहरण काम नहीं करता है, विज्ञापनदाता की संपत्ति शून्य होगी।
क्या यह सकारात्मक और यदि ऐसा है, तो कैसे?
BestRegards
अधिक जानकारी: रजिस्टर कार्रवाई adRegister ले और उस पर som जादू क्या करेंगे, तो यह मान्य कार्रवाई करने के लिए भेजा जाएगा। मान्य कार्रवाई उपयोगकर्ता को एक सत्यापन पृष्ठ वापस कर देगा। जब उपयोगकर्ता अनुदान बटन दबाता है तो adRgister फॉर्म से भर जाएगा और फिर vValidate पोस्ट पर भेजा जाएगा जहां इसे सहेजा जाएगा। मैंने adRegister को कैश या डेटाबेस में अस्थायी रूप से रखने के लिए देखा है, लेकिन अगर मैं इसे अगली कार्रवाई में सरल कर सकता हूं तो यह बेहतर होगा।
ठीक है, तो कार्रवाई के लिए जटिल वस्तु को गंभीर रूप से भेजने के लिए संभव नहीं है।TempData के साथ समस्या हो सकती है यदि उपयोगकर्ता पृष्ठ को रीफ्रेश करें। मैबी डेटाबेस में इसे स्टोर करने का सबसे अच्छा तरीका है और उसके बाद सेट अंतराल के साथ साफ़ हो जाता है (उपयोगकर्ता चरण 2 तक पहुंच सकता है और फिर निरस्त कर सकता है, यदि ऐसा है, तो डेटा अभी भी डेटाबेस में होगा)। – Banshee
यदि वे सत्रों में निरस्त हो रहे हैं, तो मुझे लगता है कि डेटाबेस बेहतर है .. –
@SnowJim, हाँ आप पृष्ठ को रीफ्रेश करने वाले उपयोगकर्ता के बारे में सही हैं। यही कारण है कि मैं इसका उपयोग करने की सिफारिश नहीं करता। सबसे अच्छा तरीका यह डेटाबेस या सत्र में स्टोर करना है। –