दिलचस्प पोस्ट
वर्तमान फ़ाइल का नाम gulp.src में प्राप्त करें () जावा जेनेरिक इश्यू: कक्षा "प्रकार-चर की सीमा के भीतर नहीं" त्रुटि JSlider के स्लाइडर आइकन को चित्रित करना त्रुटि कोड: 1215. विदेशी कुंजी बाध्य नहीं जोड़ सकते (विदेशी कुंजी) घोषित स्ट्रिंग और आवंटित स्ट्रिंग के बीच का अंतर आर में संख्यात्मक तुलना में कठिनाई आईप्याथॉन नोटबुक में अजगर 2.x और पायथन 3.x दोनों का उपयोग करना क्या यह जांचना संभव है कि क्या फेसबुक पर ईमेल की पुष्टि हो रही है? क्रॉस-ब्राउज़र XmlHttpRequest को पुनः प्राप्त करने का सबसे आसान तरीका एक्सकोड / आईफ़ोन में असम्बद्ध अपवाद के बारे में स्टैक ट्रेस या अधिक जानकारी this.constructor.prototype – पूरी तरह से अधिलेखित नहीं कर सकता है, लेकिन व्यक्तिगत रूपों को लिख सकता है? एसक्यूएल सर्वर सीटीई और रिकर्सन उदाहरण इस धागा में कोड का क्या मतलब है? लाभ और विधि की खामियां और ऑब्जेक्ट द्वारा सभी शून्य वापसी पैरामीटर को बदलने की संभावना MySQL: शून्य बनाम ""

ASP.NET MVC एक शब्दकोश में बाध्य है

मैं MVC के भीतर शब्दकोश मानों को बाँधने की कोशिश कर रहा हूँ

कार्रवाई के भीतर मेरे पास है:

model.Params = new Dictionary<string, string>(); model.Params.Add("Value1", "1"); model.Params.Add("Value2", "2"); model.Params.Add("Value3", "3"); 

और इस दृश्य के भीतर मेरे पास है:

 @foreach (KeyValuePair<string, string> kvp in Model.Params) { <tr> <td> <input type="hidden" name="Params.Key" value="@kvp.Key" /> @Html.TextBox("Params[" + kvp.Key + "]") </td> </tr> } 

लेकिन दृश्य प्रारंभिक मानों को प्रदर्शित नहीं करता है, और जब प्रपत्र प्रस्तुत किया जाता है तो Params संपत्ति शून्य है?

वेब के समाधान से एकत्रित समाधान "ASP.NET MVC एक शब्दकोश में बाध्य है"

स्कॉट हंसल्मैन से आपको इस पोस्ट पर एक नज़र रखना चाहिए: http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx

डिफ़ॉल्ट बाइंडर प्रारूप में शब्दकोशों को समझते हैं:

 params[0].key = kvp.key params[0].value = kvp.value 

परम के सूचक अनुक्रमिक होना चाहिए, 0 से शुरू और बिना किसी अंतराल के। वर्तमान सहायकों इसका समर्थन नहीं करते हैं, इसलिए आपको अपने द्वारा फार्म इनपुट फ़ील्ड बनाना चाहिए।

आप निश्चित रूप से इस तरह अपनी खुद की बांधने की मशीन को लागू कर सकते हैं: http://siphon9.net/loune/2009/12/a-intuitive-dictionary-model-binder-for-asp-net-mvc/

एएसपी.नेट एमवीसी 4 में, डिफ़ॉल्ट मॉडल बाइंडर ठेठ डिक्शनरी इंडेक्सर सिंटैक्स property[key] का प्रयोग करके शब्दकोशों को बाइंड करेंगे।

यदि आपके पास एक Dictionary<string, string> आपके मॉडल में है, तो आप इसे सीधे निम्नलिखित मार्कअप के साथ बाँध सकते हैं:

 <input type="hidden" name="MyDictionary[MyKey]" value="MyValue" /> 

उदाहरण के लिए, यदि आप किसी शब्दकोश के तत्वों का एक सबसेट चुनने के लिए चेकबॉक्स का एक सेट का उपयोग करना चाहते हैं और उसी संपत्ति में वापस बाँधना चाहते हैं, तो आप निम्न कार्य कर सकते हैं:

 @foreach(var kvp in Model.MyDictionary) { <input type="checkbox" name="@("MyDictionary[" + kvp.Key + "]")" value="@kvp.Value" /> } 

@ एन्टीपी के जवाब पर बिल्डिंग, एक भी कम वर्बोज़ का तरीका है, एमवीसी ने अधिक से अधिक काम (कम से कम TextBoxFor() साथ एक Dictionary<string, string> – मुझे एक Dictionary<xxx, bool> पर CheckBoxFor() करने की कोशिश नहीं की है Dictionary<xxx, bool> ):

 @foreach(var kvp in Model.MyDictionary) { @Html.Label(kvp.Key); @Html.TextBoxFor(m => m.MyDictionary[kvp.Key]); }