Asp.net mvc 4 asp.net MVC:TryUpdateModel不';不能正确绑定日期时间
我在MVC中使用TryUpdateModel时遇到日期属性绑定不正确的问题 我使用的是POCO类和相应的viewModelAsp.net mvc 4 asp.net MVC:TryUpdateModel不';不能正确绑定日期时间,asp.net-mvc-4,model-binding,Asp.net Mvc 4,Model Binding,我在MVC中使用TryUpdateModel时遇到日期属性绑定不正确的问题 我使用的是POCO类和相应的viewModel public class ContactModel { public int Id { get; set; } [Display(Name = "First Name")] [StringLength(50)] [Required(ErrorMessage = "First name must be entered.")] publ
public class ContactModel
{
public int Id { get; set; }
[Display(Name = "First Name")]
[StringLength(50)]
[Required(ErrorMessage = "First name must be entered.")]
public string ContactGivenName { get; set; }
[Display(Name = "Last Name")]
[StringLength(50)]
[Required(ErrorMessage = "Last name must be entered.")]
public string ContactFamilyName { get; set; }
....
[Display(Name = "Date of Birth")]
public DateTime? DateOfBirth { get; set; }
}
实体类:
public class Contact
{
[Key]
public int Id { get; set; }
[StringLength(50)]
[Column(TypeName = "varchar")]
public string ContactFamilyName { get; set; }
[StringLength(50)]
[Column(TypeName = "varchar")]
public string ContactGivenName { get; set; }
...
[Column(TypeName = "date")]
public DateTime? DateOfBirth { get; set; }
}
在我的控制器中:
[HttpPost]
[GridAction]
public virtual ActionResult UpdateContact(int id, FormCollection form)
{
//Find a customer whose CustomerID is equal to the id action parameter
var c = _contactService.Get(id);
if (c != null)
{
//Perform model binding (fill the customer properties and validate it).
if (TryUpdateModel(c, form))
{
_contactService.Get从EntityFramework返回实例
TryUpdateModel正确地绑定了诸如名字和姓氏之类的字符串属性,但是尽管做了很多尝试,我还是无法让它绑定出生日期
我怀疑这是某种格式问题,但找不到它是什么
当我调试时,我可以在FormCollection中看到日期正确存在,并且在视图中输入了值,因此数据肯定会传递给控制器
传递给控制器的值的格式为:
年月日
我尝试用多种格式动态地修改它,但没有成功
知道我做错了什么吗
非常感谢首先,我不知道你为什么要使用TryUpdateModel。。那太过时了 其次,在我看来,你还没有将你的文化设置为接受你所期望的格式。如果浏览器默认设置为正确的区域性,请将以下内容添加到web.config:
<system.web>
<globalization culture="auto" uiculture="auto" enableclientbasedculture="true">
</globalization>
</system.web>
如果要强制使用区域性,请在此设置中设置所需的区域性。全球化没有帮助,实际上已经设置好了,但是我意识到Datetime有一个自定义绑定,这可能就是我的问题所在
谢谢谢谢,为什么是古语?我通常将模型作为参数传递回去,在这种情况下,它不是我的代码,因此我必须适应TryUpdateModel。我可能会更改它,并使用automapper映射到我的实体类。