क्षमा करें, लेकिन मेरी अधिकांश खोज मुझे पुराने एमवीसी कोड पर ले जाती है। किसी भी तरह की सहायता को आभार समझेंगे।एमवीसी 6 में, चेकबॉक्स सूची को कोड में कैसे कोड करें और चेक किए गए मान को नियंत्रक को पास करें?
टैग सहायकों के साथ MVC 6 में, तुम कैसे चेक बॉक्स का एक सेट कोड है: लेबल के लिए
- उपयोग टैग सहायक तो क्लिक करने से वह जाँच की मूल्य
- सहेजें (बाइंड?) की जाँच की मूल्य को चालू होगा IsOptionSelected संपत्ति को
- जमा करें
क्लिक करने के बाद नियंत्रक को वापस इन जाँच की मान पास करें?
मैं लेबल के साथ चेकबॉक्स को सही ढंग से प्रदर्शित करने में सक्षम था, लेकिन मुझे नहीं पता कि चेक किए गए मानों को मॉडल के माध्यम से नियंत्रक को वापस कैसे पास किया जाए। अभी, IsOptionSelected मान वापस झूठ के रूप में वापस आ रहे हैं।
मैं लेबल काम के लिए एचटीएमएल सहायक बनाने में भी सक्षम था लेकिन टैग सहायक के लिए नहीं। मैं इन सभी गलत कोडिंग भी कर सकता हूं ताकि कोई सुझाव मदद मिले!
यहाँ मैं अब तक है:
प्रदर्शन:
निकाय:
public class PhoneOption
{
public bool IsOptionSelected { get; set; } = false;
public int OptionId { get; set; }
public string OptionName { get; set; }
}
मॉडल:
+०१२३५१६४१०[Display(Name = "Phone Options")]
public IEnumerable<PhoneOption> PhoneOptions { get; set; }
. . . .
PhoneOptions = repository.GetPhoneOptions();
भंडार:
public IEnumerable<PhoneOption> GetPhoneOptions()
{
IEnumerable<PhoneOption> options = new[]
{
new PhoneOption { OptionId = 1, OptionName = "Phone Case", IsOptionSelected = false },
new PhoneOption { OptionId = 2, OptionName = "Screen Protector", IsOptionSelected = false },
new PhoneOption { OptionId = 3, OptionName = "Car Charger", IsOptionSelected = false },
new PhoneOption { OptionId = 4, OptionName = "Extra Cable", IsOptionSelected = false }
};
return options;
}
दृश्य:
<div class="form-group">
<label class="control-label">Phone Options</label>
<div>
@foreach (var option in Model.PhoneOptions)
{
<div>
@{ string cbId = "PhoneOption_" + @option.OptionId; }
<input [email protected] type="checkbox" [email protected] [email protected] [email protected] />
@Html.Label(@cbId.ToString(), @option.OptionName)
@*This is causing invalid operation exception*@
@*<label [email protected]()>@option.OptionName</label>*@
<span [email protected] class="text-danger" role="alert"></span>
</div>
}
</div>
</div>
अग्रिम धन्यवाद!
मुझे लगता है कि एएसपी-फ़ॉर गलत तरीके से उपयोग किया जाता है। इनपुट में बदलें [email protected] को asp-for = "IsOptionSelected" के रूप में चुना गया है जो सुनिश्चित करेगा कि यह फ़ोनऑप्शन में सही संपत्ति से जुड़ा हुआ है। लेबल [email protected]() में एक ही चीज़ गलत है। टैग सहायक के लिए यहां ट्यूटोरियल देखें .http: //www.davepaquette.com/archive/2015/05/18/mvc6-select-tag -helper.aspx –
सुझाव के लिए धन्यवाद, लेकिन एएसपी-के लिए बदलना = "IsOptionSelected" एक वाक्यविन्यास त्रुटि फेंक रहा है क्योंकि यह मुख्य मॉडल में नहीं है। यह मॉडल का हिस्सा है। फोन विकल्प विकल्प पुनरावृत्ति पुनरावृत्ति। asp-for = option.IsOptionSelected भी काम नहीं करेगा। और हाँ, मैंने पहले ही ट्यूटोरियल पढ़ा है लेकिन इसमें चेकबॉक्स सूची शामिल नहीं है जैसे कि मैं क्या करने की कोशिश कर रहा हूं। –
आह मुझे मिल गया। इसे जांचें यदि यह http://stackoverflow.com/questions/15375800/model-binding-to-a-list-mvc-4 –