2015-07-08 2 views
7

मैं वर्तमान में एक चयन सूची को प्रारंभिक मान रखने की इजाजत दे रहा हूं। उपयोगकर्ता यह चुन सकता है कि इस विकल्प को भरना है या इसे डिफ़ॉल्ट मान पर छोड़ना है या नहीं।मैं मॉडलस्टेट में कोई मान कैसे बदलूं, ताकि यह एएसपी.नेट एमवीसी का उपयोग करके मान्य हो सके?

यह चयनसूची आईडी पर काम करती है, जहां आईडी मेरे नियंत्रक को पास की जाती है। हालांकि, चूंकि एक इंट का चयन नहीं किया जा रहा है, इसलिए मॉडलस्टेट का परिणाम गलत है क्योंकि इनपुट int के बजाय एक खाली स्ट्रिंग था।

मैं इस खाली स्ट्रिंग का मान 0 होना चाहता हूं। इसके परिणामस्वरूप मॉडलस्टेट सही हो जाएगा। मैं मॉडलस्टेट डिक्शनरी क्लास को देख रहा हूं, ताकि मॉडलस्टेट की जांच करने से पहले मैं कुंजी, वैल्यू जोड़ी बदल सकूं। हालांकि, मैं इसे सफलतापूर्वक उपयोग करने में असमर्थ रहा हूं।
https://msdn.microsoft.com/en-us/library/system.web.mvc.modelstatedictionary(v=vs.118).aspx

किसी भी मदद की सराहना की जाएगी।

+0

को दूर कर सकता है आप 'सार्वजनिक पूर्णांक की तरह पूर्णांक संपत्ति नल नहीं कर सकते हैं?' – JamieD77

+0

आप मॉडल बांधने की मशीन के साथ खेल सकते हैं, तो आप इस के लिए डिफ़ॉल्ट मान सेट कर सकते हैं संपत्ति, आप दृश्य उत्पन्न करने से पहले '"- 0' जोड़ी संग्रह में जोड़े गए मानों की एक जोड़ी जोड़ सकते हैं। प्रश्न यह है कि आप कैसे दृश्य बनाते हैं और वहां डेटा मॉडल कैसे पारित होता है? – mwilczynski

उत्तर

4

तुम सिर्फ त्रुटि

if (ModelState.ContainsKey("{key}")) 
    ModelState["{key}"].Errors.Clear(); 

if (ModelState.IsValid) 
{ 
} 
+1

धन्यवाद, मूल्य बदलने के बाद इसका उपयोग करना बहुत उपयोगी था। जैसा कि मैंने पाया कि मान कब बदला जाता है, संबंधित त्रुटि अभी भी बनी हुई है। :) – Louise

संबंधित मुद्दे

 संबंधित मुद्दे