0
我嘗試創建一個asp.net mvc 2應用程序。 我的DropDownList將不會被驗證!DropDownList驗證 - ModelState.IsValid始終爲false
我有一個核心模型類稱爲動物與一些屬性和相同的類類。這些類映射到nHibernate。
namespace Core.Models
{
public class Animal
{
public Animal() { }
public virtual int AnimalId { get; set; }
[DisplayName("Name")]
[Required(AllowEmptyStrings = false, ErrorMessage = "Name is required")]
public virtual string Name { get; set; }
[DisplayName("Gattung")]
[Required(ErrorMessage = "Genus is required")]
public virtual Genus Genus { get; set; }
}
}
namespace Core.Models
{
public class Genus
{
public Genus() { }
public virtual int GenusId { get; set; }
[DisplayName("Name")]
public virtual string GenusTitle { get; set; }
}
}
在我的UI項目我有叫AnimalViewModel
public class AnimalViewModel
{
public Animal Animal { get; set; }
public string ReturnUrl { get; set; }
public IList Genus { get; set; }
public AnimalViewModel(Animal a, string returnUrl)
{
this.Animal = a;
this.ReturnUrl = returnUrl;
}
public AnimalViewModel() { }
}
一個ViewModel類下面是我的看法:
model.Animal.Genus, new SelectList(Model.Genus, "GenusId", "GenusTitle"), "-- Fill out --")%>
最後我的控制器:
public ActionResult Index(string returnUrl)
{
AnimalViewModel avm = new AnimalViewModel()
{
Animal = new Animal(),
ReturnUrl = returnUrl,
Genus = GenusRepository().GetAll()
};
return View(avm);
}
[HttpPost]
public ActionResult Index(AnimalViewModel avm)
{
if (ModelState.IsValid) //is always false
{
//save
return RedirectToAction("Overview");
}
else
{
Genus = GenusRepository().GetAll();
return View(avm);
}
}
的ModelState。 IsValid一直在運行錯誤的。我不知道什麼是錯的。 客戶端驗證有效,但服務器驗證沒有。
任何幫助,將不勝感激。
謝謝!