我有一個包含類別的產品,一個的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。
謝謝!
這是asp.net-mvc 2嗎?否則,您正在運行哪個驗證引擎?你能向我們展示一些視圖標記和這個失敗的行爲嗎? – 2010-03-04 14:40:36
它是mvc 1.0。我會在帖子 – 2010-03-04 14:55:22
中添加一些代碼出於好奇,在這種情況下如何驗證失敗的下拉菜單?它有時會工作,有時會失敗嗎?如果是這樣,每次輸入是什麼?它總是失敗嗎?如果是這樣的話在哪一行? – 2010-03-04 15:08:47