2010-02-08 24 views
6

के साथ फॉर्म स्तर पर त्रुटि एएसपी.नेट एमवीसी के पिछले संस्करणों में, आप संपत्ति-स्तर के बजाय फॉर्म-स्तर पर त्रुटि बनाने के लिए ModelState.AddModelError("**_FORM**", "error") का उपयोग कर सकते हैं। ऐसा लगता है कि अब एएसपी.नेट एमवीसी 2 के नए आरसी के साथ काम नहीं करना प्रतीत होता है।मॉडलस्टेट.एडमोडेल एएसपी.नेट एमवीसी 2 आरसी

क्या ऐसा करने का कोई और तरीका है? मैं अपनी दृश्य फ़ाइल में <%= Html.ValidationSummary() %> का उपयोग करता हूं ...

उत्तर

5

मैं व्यक्तिगत रूप से AddModelError("" का उपयोग करता हूं - मुझे नहीं पता कि _FORM कहां से आया है? - और ValidationSummary() कोई काला जादू नहीं है - मैं इसके बजाय अपने स्वयं के सहायक का उपयोग करता हूं, उदाहरण के लिए, आउटपुट में विशिष्ट (उपयोगकर्ता-विशिष्ट) अपवाद संदेश शामिल हैं। सहायक लिखना बहुत आसान है - मॉडलस्टेट पर एक साधारण फोरैच लूप - ताकि आप अपना खुद का लिखने पर विचार कर सकें। वहां आप फॉर्म-स्तरीय, संपत्ति-स्तर, या जो कुछ भी आपको पसंद करते हैं, दिखाने के लिए स्वतंत्र हैं।

+3

मैं AddModelError कोशिश (शून्य, ... लेकिन बात नहीं बनी किया AddModelError ("", ... एक आकर्षण की तरह काम कर रहा है! धन्यवाद! –

0

त्रुटि modelstate के अंदर हैं और तर्क का पालन करते हुए ValidationSummary के सहायक वर्ग के लिए भेज रहा है:।

this.ViewData.ModelState.Keys 

this.ViewData.ModelState.Values 
संबंधित मुद्दे