में मॉडल चेतावनी मैं वर्तमान में सत्यापन त्रुटियों को पकड़ने और उपयोगकर्ता को वापस पास करने के लिए asp.net mvc में ModelStateDictionary का उपयोग कर रहा हूं। यह जांचने में सक्षम होना कि पूरा मॉडल ModelState.IsValid के साथ मान्य है या नहीं। हालांकि, मैं जिस मौजूदा एप्लिकेशन पर काम कर रहा हूं उसे चेतावनियों की रिपोर्ट करने में सक्षम होने की आवश्यकता है। ये महत्वपूर्ण नहीं हैं इसलिए फ़ॉर्म सामग्री अभी भी सहेजी जा सकती है, लेकिन उन्हें उपयोगकर्ता को दिखाया जाना चाहिए ताकि कार्रवाई को वैकल्पिक रूप से लिया जा सके।एएसपी.नेट एमवीसी
मैं यह देखने के लिए ढांचे के माध्यम से देख रहा हूं कि इसे करने के लिए मुझे अनुमति देने के लिए कोई स्पष्ट जगह है या नहीं। मैं सोच रहा हूं कि चेतावनी के साथ एक और शब्दकोश और मॉडल त्रुटि के उप-वर्ग को मॉडल चेतावनी कहा जाता है। मुझे यकीन नहीं है कि मैं दृश्य में अपने नए कंटेनर कक्षाओं का उपयोग करने के लिए ढांचा कैसे प्राप्त करूंगा। हालांकि, मैं अभी भी सभी मौजूदा त्रुटि सामग्री को काम करना चाहता हूं।
अगर किसी ने कुछ भी ऐसा करने की कोशिश की है या कोई विचार है तो मैं उनके इनपुट की सराहना करता हूं।
अद्यतन:
मैं जहाँ तक
public class AetherViewDataDictionary : ViewDataDictionary
{
public AetherViewDataDictionary()
{
ModelStateWarning = new ModelStateDictionary();
}
public AetherViewDataDictionary(object model) : base(model)
{
ModelStateWarning = new ModelStateDictionary();
}
public AetherViewDataDictionary(ViewDataDictionary viewDataDictionary) : base(viewDataDictionary)
{
ModelStateWarning = new ModelStateDictionary();
}
public ModelStateDictionary ModelStateWarning { get; private set; }
}
समस्या यह है कि मैं अब आ रही है कि जब मैं मेरे विचार कोड के लिए मिलता है, यह कुछ चेतावनियों को जोड़ने के लिए ViewDataDictionary विस्तार के रूप में मिल गया है सिर्फ डीबग के लिए है, मैं इस तथ्य को खो रहा हूं कि यह मेरा नया प्रकार है, इसलिए जब मैं इसे वापस लाने की कोशिश करता हूं और अपने नए शब्दकोश तक पहुंच प्राप्त करता हूं तो मुझे कोई खुशी नहीं होती है।
public partial class Index : ViewPage<PageViewData>
{
protected override void SetViewData(ViewDataDictionary viewData)
{
base.SetViewData(viewData);
}
}
यह इसे सही तरीके से सेट करता है, लेकिन जब मैं इस प्रकार की जांच करता हूं तो यह चला जाता है।
संपादित करें: यह चीजों को करने का एक गूंगा तरीका साबित हुआ, नीचे जवाब देखें।
प्रयास क्या है? –
इसके अलावा "अगर (एस्टेट == नल) सच हो जाता है;" लाइन गलत है। अगर हमें संबंधित संग्रह में कम से कम एक आइटम है तो हमें केवल सही लौटना चाहिए। तो आपको इस लाइन को हटा देना चाहिए और अगली पंक्ति को "वापसी (aState! = Null && aState.Warnings.Count> 0) में बदलना चाहिए;" –