不知道我是否正確填充了我的下拉列表,但我在驗證我的下拉列表中的值時遇到了問題。當一個值被選中時,它仍然顯示錯誤'The value x is invalid'。該類型是int?因爲我知道int不適用於驗證器。MVC3無法驗證下拉列表
查看型號代碼:
[Display(Name = "Category")]
[Required(ErrorMessage = "Category is required.")]
public AWS.DTO.Lookup Category { get; set; }
public IEnumerable<AWS.DTO.Lookup> Categories { get; set; }
控制器代碼:
[PageOptions(Title = "Create FMR")]
public ActionResult Create()
{
var model = new FMRRequestViewModel();
model.Categories = new AWS.BL.Lookup().GetFMRCategories();
return View(model);
}
查找類型:
public class Lookup
{
public int? ID { get; set; }
public string Description { get; set; }
}
查看代碼:
@Html.DropDownListFor(m => m.Category, new SelectList(Model.Categories, "ID", "Description", -1), "-- Please Select -- ")
在此先感謝您的幫助。
你爲什麼要讓'Lookup'類的'ID'爲空? – SOfanatic
因爲我讀過驗證器不能使用非空類型,但正如你所看到的,我把它弄錯了。 – Wilky