【发布时间】:2016-07-18 06:15:16
【问题描述】:
我有以下剃须刀
<td>@Html.TextBoxFor(m => m.MeetingToEdit.StartTime, new { @class = "datetimepicker form-control", @Value = Model.MeetingToEdit.StartTime })</td>
我从控制器访问日期
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult UpdateMeetingWithId([Bind(Prefix = "MeetingToEdit")]Meeting model)
{
Meeting meeting = meetingsContext.Meetings.Where(a => a.Id == model.Id).First();
meeting.Title = model.Title;
meeting.StartTime = model.StartTime;
meeting.EndTime = model.EndTime;
meetingsContext.Entry(meeting).State = System.Data.Entity.EntityState.Modified;
meetingsContext.SaveChanges();
return RedirectToAction("ReinviteVisitor2", "Home", new { visitorId = model.SubjectId });
}
因此,在调试 chtml 时,Model.MeetingToEdit.StartTime 是正确的,但是当它显示在网页的文本框中时,它是错误的并变为“Jan 14, 0044 12:00 AM”。确保日期时间在文本字段中正确显示的正确方法是什么?
编辑: 我正在使用 bootstrap datetimepicker,它的配置如下:
<script>
$(document).ready(function () {
$('.datetimepicker').datetimepicker({
format: 'lll'
});
});
</script>
【问题讨论】:
-
在使用
HtmlHelper方法时,切勿设置value属性。StartTime的值是多少,您希望它如何格式化?你提到了一个 DatePicker - 你使用的是什么 jquery DatePicker? -
好的,我取消了属性值。但是现在 StartTime 和 EndTime 是空的。我认为是因为格式不正确?
-
再次,
StartTime的值是多少,你想如何显示它? -
StartTime 和 EndTime 是 DateTimes,我希望它显示为 'Mon 18 Jul 2016 4:32 PM'
-
那么它将是
@Html.TextBoxFor(m => m.MeetingToEdit.StartTime, "{0: ddd dd MMM yyyy h:mm tt}", new { @class = "datetimepicker form-control" }),但您可能无法在提交时将其绑定回您的模型
标签: asp.net asp.net-mvc