2011-10-20 4 views
7

मैं स्टीव सैंडर्सन की BeginCollectionItem उपयोगिता के साथ काम कर रहा हूं ताकि एमवीसी 3 में संपादित किए जाने वाले ऑब्जेक्ट्स की एक सूची प्रस्तुत की जा सके, और जब आप एक संपूर्ण संग्रह को पुनरावर्तक से प्रस्तुत करते हैं तो यह बहुत अच्छा काम करता है। मेरी समस्या तब आ रही है जब मैं संग्रह में एक नया आइटम जोड़ने की कोशिश कर रहा हूं, और उस ऑब्जेक्ट को प्रदर्शित करने वाले HTML को वापस कर दूंगा। किसी कारण से, मेरे डेटा एनोटेशन कोड से नीचे आने वाले एचटीएमएल में प्रस्तुत नहीं किए जा रहे हैं।स्टीव सैंडर्सन की BeginCollectionItem सभी मामलों में काम नहीं कर रहा है ... संभावित समाधान?

क्या इसमें कोई फिक्स उपलब्ध है, या क्या कुछ अलग है, सैन्स को सत्यापन लिखना है, कि मैं इस मुद्दे को हल करने के लिए कर सकता हूं?

धन्यवाद।

+1

यदि आप कुछ कोड पोस्ट करते हैं तो हम – Iridio

+0

पर क्या कर रहे हैं, इसकी बेहतर समझ हो सकती है। क्या आप दूसरी पोस्ट को पढ़ने के लिए परेशान थे - http://blog.stevensanderson.com/2010/01/28/validating-a-variable -length-सूची-aspnet-MVC-2-शैली/?? – Ahmad

+5

अहमद ... आपके साथ एक ही स्वर का उपयोग कर सकता है ... मैं mvc3 का उपयोग कर रहा हूं, और jquery अविभाज्य सत्यापन। उनकी दूसरी पोस्ट में मेरे मामले का कोई मूल्य नहीं था। –

उत्तर

21

विचारणीय बातें:

  1. डाटा एनोटेशन प्रदान नहीं किया जाएगा जब तक एक FormContext जो कुछ भी विधि आप इस अतिरिक्त वस्तु बनाने के लिए उपयोग कर रहे हैं में मौजूद है। आप गतिशील AJAX के माध्यम से पेज के लिए एक आइटम जोड़ रहे हैं

    if (this.ViewContext.FormContext == null) 
        { 
         this.ViewContext.FormContext = new FormContext(); 
        } 
    
    1. , फिर आपके द्वारा जोड़े के बाद -

    : यदि आप एक आंशिक दृश्य का उपयोग कर रहे हैं, तो शीर्ष पर यह करने के लिए निम्नलिखित जोड़ें अपने नए आइटम, आप डोम में मान्यता डेटा साफ़ करना चाहिए, और अपने मान्यता के सभी तत्वों को फिर से पार्स, तो जैसे:

-

$("form").removeData("validator"); 
    $("form").removeData("unobtrusiveValidation"); 
    $.validator.unobtrusive.parse("form"); 
+0

@counsellorben ... प्रतिक्रिया के लिए धन्यवाद ... मुझे नहीं पता था कि यह formcontext की तलाश में था। मैं सोमवार को कोशिश करूंगा और देख सकता हूं कि यह कैसे काम करता है। धन्यवाद! –

+0

क्या "पार्स" रेखा से ऊपर की दो पंक्तियों का कोई कारण है ?? –

+0

जब अविभाज्य सत्यापन गुणों को पार्स किया जाता है, तो गुणों के बारे में डेटा DOM में रखा जाता है। सही ढंग से फिर से विश्लेषण करने के लिए, सबसे आसान समाधान डीओएम से डेटा को साफ़ करना है। – counsellorben

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