मैं पूरी तरह खो और कैसे 2.0 R2ASP.NET MVC 2 - ViewModel
ASP.NET MVC पर नई दृढ़ता से टाइप किया Html.DropDownListFor सहायक उपयोग करने के लिए मैं दृश्य में पर उलझन में हो रही है साथ Html.DropDownListFor भ्रम 'm writting:
<%= Html.DropDownListFor(m => m.ParentCategory, new SelectList(Model.Categories, "CategoryId", "Name", Model.ParentCategory), "[ None ]")%>
<%= Html.ValidationMessageFor(m => m.ParentCategory)%>
और मेरे मॉडल वस्तु इस प्रकार है:
public class CategoryForm : FormModelBase
{
public CategoryForm()
{
Categories = new List<Category>();
Categories.Add(new CategoryForm.Category() {
CategoryId = 1,
Name = "CPUs" });
Categories.Add(new CategoryForm.Category() {
CategoryId = 2,
Name = "Memory" });
Categories.Add(new CategoryForm.Category() {
CategoryId = 3,
Name = "Hard drives" });
}
// ...other props, snip... //
public Category ParentCategory { get; set; }
public IList<Category> Categories { get; protected set; }
public class Category
{
public int? CategoryId { get; set; }
public string Name { get; set; }
}
}
समस्या जब मैं ड्रॉपडाउन सूची से किसी आइटम का चयन, का कहना है कि पहले आइटम, मैं निम्नलिखित Valida मिलता है tionMessage त्रुटि के लिए "मान '1' अमान्य है।"
तो मैं थोड़े को देखें बदलने ...
<%= Html.DropDownListFor(m => m.ParentCategory.**CategoryId**,
new SelectList .../ snip ) %>
अब यह काम करता है। मेरे व्यूमोडेल में ParentCategory प्रॉपर्टी सही 'श्रेणी आईडी' के साथ सेट है लेकिन 'नाम' शून्य है। क्या मैं दृढ़ता से टाइप की गई 'श्रेणी' ऑब्जेक्ट की बजाय ParentCategory प्रॉपर्टी के लिए केवल एक बेकार int है?
यह एक है प्राप्त किया:
दृश्य तो इन दोनों होगा उपयोगकर्ता DropDownListFor के लिए अच्छा तरीका - http://stackoverflow.com/questions/3386998/dropdownlistfor-display-a-simple-list-of-strings – bcahill