मैं एक निश्चित दृश्य मॉडल संपत्ति के लिए क्लाइंट-साइड और सर्वर-साइड सत्यापन विकसित कर रहा हूं।सत्यापन मैसेज AddModelError (कुंजी, संदेश) के साथ एक साथ। कुंजी क्या है?
.cshtml
फ़ाइल में मैं इस डाल: व्यापार सत्यापन के लिए नियंत्रक में
@Html.DropDownListFor(model => model.EntityType.ParentId, Model.ParentTypeList, "")
@Html.ValidationMessageFor(model => model.EntityType.ParentId)
catch (BusinessException e)
{
ModelState.AddModelError("EntityType.ParentId", Messages.CircularReference);
}
की उम्मीद के रूप में ऊपर काम करता है: एक अपवाद पकड़ा जाता है, तो संदेश के पास दिखाई देता ड्रॉपडाउन सूची।
हालांकि, मुझे लगता है कि यह तरीका बहुत ही सुरुचिपूर्ण नहीं है। cshtml
में, मैं सत्यापन के बारे में सभी आवश्यक जानकारी उत्पन्न करने के लिए एक विधि का उपयोग करता हूं। नियंत्रक में, मुझे सटीक कुंजी स्ट्रिंग जाननी चाहिए और इसका उपयोग करना चाहिए।
क्या ऐसा करने का कोई बेहतर तरीका नहीं है?
इस कड़ी में कुछ अतिरिक्त प्रदान करता है अंतर्दृष्टि और एक स्ट्रिंग के रूप में सीधे कुंजी का संदर्भ नहीं देने का एक तरीका है: एक अभिव्यक्ति के रूप में: http://stackoverflow.com/questions/11090445/how-to-get-a-modelstate-key-of-an-item-in- एक सूची एक और resour heres सीई जो अभिव्यक्ति कुंजी के लिए एक रैपर विधि प्रदान करता है http://stackoverflow.com/questions/8793799/get-reference-to-object-from-c-sharp-expression – bUKaneer