फ़ंक्शन myItemsViewModel (ItemID, GroupID, ItemName, Quantity) {this.ItemID = ItemID; This.GroupID = GroupID; This.ItemName = ItemName; यह। मात्रा = मात्रा;
}
और नियंत्रक पर पोस्ट करने के लिए मेरे पास कोड है
var CreateRecord = function () {var नाम = $ .trim ($ ( "# divCreate") लगता है ( "# txtName") वैल ()।।); Var विभाग = $ .ट्रम ($ ("# divCreate")। ("# TxtDepartment") खोजें। Val ()); Var आइटम सूची = []; $ ('# MyDynamicTable')। ('Tr')। प्रत्येक (फ़ंक्शन () {var पंक्ति = $ (यह); var itemName = $ .trim (row.find ("। ItemName इनपुट")। Val () ); Var itemQty = $ .trim (row.find ("। ItemQty इनपुट")। Val ()); var myItems = new myItemsViewModel ("", "", itemName, itemQty); ItemsList.push (myItems);} ); Var obj = नया myRecordEntryViewModel ("", नाम, विभाग, आइटम सूची); Var viewmodel = JSON.stringify (obj); $। एजेक्स ({प्रकार: 'पोस्ट', कैश: गलत, डेटाटाइप: 'html', डेटा: व्यू मॉोडेल, हेडर: GetRequestVerificationToken (), कंटेंट टाइप: 'एप्लिकेशन / जेसन; वर्णसेट = यूटीएफ -8', यूआरएल: '/' + आभासीडियरीरी + '/ रिकॉर्डएन्टर्री / सेव', सफलता: फ़ंक्शन (डेटा) {$ ("# डिवमैस्टर")। Html (डेटा); वापसी वापस;}, त्रुटि: फ़ंक्शन (msg) {चेतावनी ("त्रुटि दर्ज करने का रिकॉर्ड अनुरोध! ");}}); }
लाइन समस्या मेरे आइटम सूची सरणी नियंत्रक में शून्य के रूप में आ रही है। नाम और विभाग सही पारित मूल्यों के माध्यम से आ रहे हैं। नीचे मेरा नियंत्रक कोड है कक्षा मुझे आश्चर्य है कि क्यों var viewmodel = JSON.stringify (obj) पर;
, ViewModel के सभी मान हैं जो मैं अपने ItemsList सरणी चर
सार्वजनिक वर्ग myRecordEntryViewModel {सार्वजनिक लंबे आईडी {प्राप्त करें; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक स्ट्रिंग विभाग {get; सेट; } सार्वजनिक स्ट्रिंग [] आइटम सूची {प्राप्त; सेट; [NoCache] सार्वजनिक कार्यवाही सहेजें (myRecordEntryViewModelViewModel) [ActionContent] {// यहाँ देखेंमॉडेल.आइटम लिस्ट रिक्त है, अगर मैं भूल सकता / सकती हूं (यह। सेवएन्ट्री (देखेंमॉडेल .नाम, देखेंमॉडेल। डिपार्टमेंट, देखेंमॉडेल.आइटम लिस्ट)) {} इसे वापस लौटाएं। देखें (); }
viewModel.ItemsList
नियंत्रक में शून्य के रूप में आ रहा है अभी तक यह jQuery से पोस्ट के दौरान मूल्य है।
आप आइटम सूची में आइटम के लिए एक वर्ग बनाना चाहिए (सी #)
सार्वजनिक वर्ग आइटम {सार्वजनिक स्ट्रिंग ItemName {get; सेट; } सार्वजनिक int मात्रा {प्राप्त करें; सेट; }}
और फिर व्यूमोडाल वर्ग
सार्वजनिक वर्ग myRecordEntryViewModel {सार्वजनिक लंबे आईडी {get; सेट; } सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक स्ट्रिंग विभाग {get; सेट; } // सार्वजनिक स्ट्रिंग [] आइटम सूची {प्राप्त करें; सेट; } सार्वजनिक सूची & lt; आइटम & gt; आइटम सूची {प्राप्त करें; सेट;}}
नियंत्रक आपके अनुरोध से मॉडल सूची को मॉडल में मैप नहीं कर सकता क्योंकि एक स्ट्रिंग की सूची है और अन्य ऑब्जेक्ट की सूची है।
No comments:
Post a Comment