Я хочу связать свой класс Store, который имеет несколько продуктов для Html.Listbox. В режиме «Сохранить в магазине» я хочу, чтобы Html.Listbox показывал все продукты, в которых выбраны продукты Магазина. Я не смог связаться с магазином. Продукты в спискеMVC Model Binding IList <T> данные в Html.Listbox
My class structure;
public class Store
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
}
public class Product
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class StoreEditView
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<Product> Products { get; set; }
public virtual MultiSelectList ProductList //populated from db, all products in the form of IList<Product>
}
Мой контроллер;
public ViewResult Edit()
{
var editstore = new StoreEditView();
editstore.Products = new List<Product> {new Product() {Id = 1, Name="Example"}};
return View(editstore);
}
My View;
<%=Html.ListBox("Products", Model.ProductList)%>
В этом случае мне нужен продукт. Идентификатор = 1, который будет показан выбранным в списке. До сих пор я не мог этого сделать. Я попытался,
<%=Html.ListBox("Product.Id", Model.ProductList)%>
<%=Html.ListBox("Products.Id", Model.ProductList)%>
просто не работает.
Model.Productlist уже заселяет выпадающий список. Моя проблема заключается в том, что ListBox («Продукты») не имеет отношения к списку Store.Products. – dasmod
Я не уверен, что понимаю проблему. Как вы заполняете Model.ProductList? Если ему нужно сопоставить Model.Products, а это не так, я могу только предположить, что вам нужно изменить процедуру, которая заполняет ее. – grenade
ok, Model.ProductList; Публичный продукт MultiSelectList ProductList {get; задавать; } Я заполняю ProductList из базы данных (все продукты в базе данных) У меня есть таблица StoreProduct (store_id, product_id) Если в editview для Store.Id = 1, Store.Products List имеет много ко многим. То, что я пытаюсь сделать здесь, Перечислить все продукты в список и модель привязать этот список к Store.Products – dasmod