2011-09-27 15 views
5

मैं इस प्रकार एक पूर्णांक के लिए एक dropdownlist बाध्य करने के लिए करना चाहते हैं:MVC3 - बाइंडिंग DropDownList int करने के लिए - मूल्य हमेशा आवश्यक

@Html.DropDownListFor(m => m.ProductID, Model.AllProducts, "") 

जाहिर है उपरोक्त मामले मैं एक डिफ़ॉल्ट (खाली) ताकि मूल्य के लिए अनुमति देता हूँ में डिफ़ॉल्ट रूप से कोई मान नहीं चुना जाता है। मेरे viewmodel बहुत सरल है, और इन गुणों

public SelectList AllProducts {get;set;} 
public int ProductID {get;set;} 

ऐसा लगता है कि क्योंकि मैं एक पूर्णांक डेटा सत्यापन के लिए बाध्य कर रहा हूँ डेटा-वैल में जिसके परिणामस्वरूप * मेरी html में उत्पन्न गुण और के कारण मजबूर किया जाता है के लिए कोई भी टिप्पणी नहीं है अगर मैं कोई विकल्प नहीं चुनता तो मेरा क्लाइंट साइड सत्यापन विफल हो जाता है। वैकल्पिक रूप से एक int के बजाय एक स्ट्रिंग के लिए बाध्यकारी प्रतीत होता है और फिर सर्वरसाइड पर स्ट्रिंग को पार्स कर रहा है - हालांकि, यह हैकिश की तरह लगता है और मैं सोच रहा हूं कि कोई विकल्प है जो मुझे int में बाध्य करने की अनुमति देगा एक डिफ़ॉल्ट (खाली) मूल्य नहीं लेकिन

धन्यवाद

जेपी

उत्तर

11

आप एक नल पूर्णांक में आपके विचार मॉडल में अगर ilst ड्रॉप डाउन एक डिफ़ॉल्ट हो सकता करने के लिए बाध्य करने के लिए उपयोग करना चाहिए इस क्षेत्र को अनिवार्य बनाने मूल्य:

public SelectList AllProducts { get; set; } 
public int? ProductID { get; set; } 

और तुम मान्यता है कि उपयोगकर्ता वास्तव में एक मूल्य आवश्यक विशेषता के साथ सजाने का चयन करता है को लागू करना चाहते हैं:

public SelectList AllProducts { get; set; } 
[Required] 
public int? ProductID { get; set; } 
+0

ओह मैं एक बेवकूफ हूँ ... और मैं एक बेवकूफ किया जा रहा से नफरत है। अगर केवल मुझे अपने जीवन के आखिरी आधा घंटे मिल सकता है ... –

+0

@ जेपी।, खुशी है कि मैं मदद कर सकता हूं। क्या अभी भी कुछ समस्याएं बाकी हैं या आप इस सवाल को बंद कर सकते हैं? –

+0

मुझे कुछ मिनट इंतजार करना पड़ा इससे पहले कि यह मुझे बंद कर दे। उत्तर अब स्वीकार किया गया - आपकी मदद के लिए धन्यवाद !! –

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