我有一个客户模型
public class Customer
{
public virtual int CustomerID { get; set; }
[Required]
public virtual string CustomerName { get; set; }
[Required]
public virtual string Title { get; set; }
[Required]
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
// Cont..
}
当我将客户创建表单发布到public ActionResult Create(Customer customer)
我的操作时CustomerController
,它会产生错误ModelState
。例如......如果我的代码如下......
[HttpPost]
public ActionResult Create(Customer customer)
{
customer.Title = "Mr"; // This is what I set for ensuring the field has value
if (ModelState.IsValid)
{
// Code to save customer entity
}
// else..
}
在我的 MVC 视图中,它显示客户标题中的错误
例如,如果我if (ModelState.IsValid)
从上面的代码中删除该部分,客户实体会保存得很好,我可以在数据库中看到记录。
这里可能是什么问题?
编辑 :
将客户标题传递为IEnumerable<SelectListItem>
ViewData["CustomerTitles"] = GetCustomerTitles();
代码在视图
div class="editor-field">
<%: Html.DropDownList("CustomerTitles")%>
<br /><%: Html.ValidationMessageFor(model => model.Title) %>
</div>