asp.net mvc 2 응용 프로그램을 만들려고합니다. 내 DropDownList가 유효하지 않습니다!DropDownList 유효성 검사 - ModelState.IsValid는 항상 거짓입니다.
나는 Animus라는 속성을 가진 핵심 모델 클래스와 Genus 클래스와 동일한 속성 클래스를 가지고 있습니다. 이러한 클래스는 nHibernate에 매핑됩니다. 내 UI 프로젝트에서
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; }
}
}
내가
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() { }
}
AnimalViewModel
라는 뷰 모델 클래스가 여기 내보기입니다 :
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는 항상 그렇다. s 거짓. 나는 무엇이 잘못되었는지 전혀 모른다. 클라이언트 유효성 검사가 작동하지만 서버 유효성 검사가 작동하지 않습니다.
도움을 주시면 감사하겠습니다.
감사합니다.