में पोस्टबैक के बीच जटिल डेटा को जारी रखना मैं एक एएसपी.नेट एमवीसी 2 एप्लीकेशन विकसित कर रहा हूं जो डेटा पुनर्प्राप्ति और अद्यतन करने के लिए कुछ सेवाओं से जुड़ता है। सेवाओं को अद्यतन करते समय सेवाओं को अद्यतन इकाई के साथ मूल इकाई प्रदान करने की आवश्यकता होती है। ऐसा इसलिए है कि यह परिवर्तन ट्रैकिंग और आशावादी समेकन कर सकता है। सेवाओं को बदला नहीं जा सकता है।एएसपी.नेट एमवीसी
मेरी समस्या यह है कि मुझे किसी भी तरह पोस्टबैक के बीच मूल इकाई को स्टोर करने की आवश्यकता है। वेबफॉर्म में, मैंने व्यूस्टेट का उपयोग किया होगा, लेकिन जो मैंने पढ़ा है, वह एमवीसी के लिए बाहर है। मूल मूल्यों को छेड़छाड़ करने की ज़रूरत नहीं है क्योंकि सेवाएं उन्हें अविश्वसनीय मानती हैं। संस्थाएं (अधिकतम) 1k होगी और यह एक इंट्रानेट ऐप है।
विकल्प आए हैं कर रहे हैं:
- सत्र - की संभावना से इनकार - सत्र में इकाई स्टोर है, लेकिन मैं इस विचार पसंद नहीं है के रूप में वहाँ के बीच सत्र साझा करने के लिए कोई योजना नहीं हैं
- यूआरएल - की संभावना से इनकार - डेटा बहुत बड़ा है
- HiddenField - एक छिपी हुई फ़ील्ड में धारावाहिक इकाई स्टोर, शायद एन्क्रिप्शन/एन्कोडिंग के साथ
- छिपे हुए संस्करण - संस्थाओं के पास एक (एसक्यूएल) संस्करण फ़ील्ड है, जिसे मैं एक छिपे हुए क्षेत्र में डाल सकता हूं। फिर एक सहेजने पर मुझे सेवाओं से "मूल" इकाई मिलती है और संस्करणों की तुलना करके, अपनी आशावादी समरूपता प्राप्त होती है।
- कुकीज़ - 3 या 4, लेकिन एक कुकी के बजाय एक छिपी हुई फ़ील्ड
मैं विकल्प 4 की ओर झुकाव रहा हूँ का उपयोग कर की तरह, हालांकि 3 सरल होगा। क्या ये वैध विकल्प हैं या क्या मैं गलत ट्रैक पर जा रहा हूं? क्या ऐसा करने का कोई बेहतर तरीका है?
टेम्पपडाटा को न भूलें http://stackoverflow.com/search?q=tempdata – R0MANARMY
@ R0manarmy TempData केवल वर्तमान अनुरोध के लिए मान्य नहीं है? –
स्पष्ट रूप से यह एएसपी.नेट एमवीसी 2 में बहुत बदल गया है http://blog.donnfelker.com/2010/02/26/aspnet-mvc2-tempdata-now-persists/ चॉइस काफी "हमने एमवीसी में कार्यान्वयन बदल दिया है परिणामस्वरूप थोड़ा सा: मूल्य को अनुरोध के बाद TempData से हटा दिया जाएगा, इसलिए यह आपके टेम्पपडेटा शब्दकोश में तब तक मौजूद रहेगा जब तक आप इसे किसी पृष्ठ में प्रदर्शित नहीं करते। यह एक बहु-रीडायरेक्ट परिदृश्य (जैसे कि विंडोज लाइव आईडी लॉगिन) TempData का उपयोग करने के लिए और जब तक आप इसके लिए तैयार नहीं हो जाते तब तक यह अभी भी लटक रहा है। " – R0MANARMY