У меня есть следующий код:
using System.Data.Entity;
using System.Diagnostics;
using System.Linq;
using System.Web.Mvc;
using WebShopGoal.Models;
namespace WebShopGoal.ViewModel
{
public class ProductEditViewModel
{
public Products Product { get; set; }
public SelectList SupplierIdList { get; set; }
public MultiSelectList CategoryIdList { get; set; }
public int[] SelectedCategories { get; set; }
public int? SupplierId { get; set; }
private WebshopDBEntities _db;
public ProductEditViewModel()
{
_db = new WebshopDBEntities();
SupplierIdList = new SelectList(_db.Suppliers, "Id", "Name");
CategoryIdList = new MultiSelectList(_db.Categories, "Id", "CName");
}
public void Load(int id)
{
Product = _db.Products.Find(id);
SupplierId = Product.SupplierId;
SelectedCategories = Product.CategoryId.Select(p => p.Id).ToArray();
}
и в последнем бите при выборе выдает ошибку. Я использую тот же код в другом ViewModel, но он работает в этом.
На мой взгляд, я использую
<div class="form-group">
@Html.LabelFor(model => model.Product.Categories, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.ListBoxFor(model => model.SelectedCategories, Model.CategoryIdList, htmlAttributes: new { @class = "form-control" })
</div>
</div>
Кто-нибудь может мне помочь? Некоторый поиск здесь говорит, что использование System.Linq решит это, но я уже получил тот