我仍然遇到datetimeoffset值的问题。
我有以下两个日期,FromDate没有问题。 使用ThruDate,当我更新并保存时,我得到的ThruDate不是有效日期。 提出问题,ModelState is invalid with DateTimeOffset + MVC4,但没有得到任何答案。
[Required, Display(Name = "From")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd, dd MMM yyyy HH:mm:ss GMT}")]
public System.DateTimeOffset FromDate { get; set; }
[Display(Name = "Thru")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:ddd MMM dd yyyy hh:mm:ss 'GMT'zzz '(India Standard Time)'}")]
public Nullable<System.DateTimeOffset> ThruDate { get; set; }
但是,我在模型绑定器中使用的ThruDate格式工作正常:
if (value.IndexOf("UTC") != -1)
thru = DateTimeOffset.ParseExact(value, "ddd MMM dd HH:mm:ss \"UTC\"zzz yyyy", CultureInfo.InvariantCulture);
else
thru = DateTimeOffset.ParseExact(value, "ddd MMM dd yyyy HH:mm:ss \"GMT\"zzz \"(India Standard Time)\"", CultureInfo.InvariantCulture);
但这不适用于模型DataFormatString,因此我的模型状态无效。 有人可以告诉我这里有什么问题吗?