我有一个包含类别的产品,一个的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