【发布时间】:2013-07-09 14:14:19
【问题描述】:
在我看来,我有一个日期字段(用于 Jquery 日期选择器),
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.TextBoxFor(m => m.SubmitStartDate , new { @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
在我的模型中我有:
[Required(ErrorMessage = "Please select a start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime? SubmitStartDate { get; set; }
但是在 UI 中我得到 10/07/2013 00:00:00 on load ,如何从中删除时间部分。我还需要 "dd-mm-yy" 格式的日期。有没有可能实现?
更新
我根据答案编辑了我的代码,并且我按照要求让它工作了,但是我遇到了一个问题。
当我使用@Html.EditorFor() 时,我的readonly 属性将不再起作用。我也尝试使用DisplayFor,但它没有意义,因为我将它用于 J-query Date Picker。有什么办法可以使该字段只读?
更新代码:
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.EditorFor(m => m.SubmitStartDate , new { type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
【问题讨论】:
标签: c# .net asp.net-mvc datetime razor