У меня есть viewmodel, которая содержит продукт и SelectList категорий.
public class AdFormViewModel
{
public AmericanAds.Model.Ad Ad { get; set; }
public SelectList Categories { get; set; }
public AdFormViewModel(AmericanAds.Model.Ad ad, SelectList categories)
{
Ad = ad;
Categories = categories;
}
}
При добавлении нового продукта в случае сбоя проверки для раскрывающегося списка категорий появляется сообщение об ошибке ниже.
Элемент модели, передаваемый в словарь, имеет тип «AmericanAds.Model.Ad», но для этого словаря требуется элемент модели типа «AmericanAds.Controllers.AdFormViewModel».
Вот контроллер для создания действия.
public ActionResult Create()
{
AdFormViewModel data = new AdFormViewModel(
null,
new SelectList(_repository.CategoryList().ToList(), "CategoryId", "CategoryName")
);
return View(data);
}
//
// POST: /Ad/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Ad ad)
{
if (ModelState.IsValid)
{
try
{
_repository.AddAd(ad);
return RedirectToAction("Index");
}
catch
{
return View(ad);
}
}
else
{
return View(ad);
}
}
Чего мне не хватает?
Как вы можете сказать, я новичок в ASP.Net MVC.
Спасибо!