嗨我有一个模型,它有Datetime类型的属性。当我发布表格时,日期属性小时的小时应该是23:59。哪种方式有意义。
我使用的是jQuery datetimepicker,其格式为mm.dd.yy,不包含小时数。
[Authorize, HttpPost]
public ActionResult Edit(int? id, OrderFormViewModel formModel)
{
var model = repository.GetShippingsById(id.Value);
if (TryUpdateModel(model, "Order"))
{
model.Date = new DateTime(formModel.Order.Date.Year, formModel.Order.Date.Month, formModel.Order.Date.Day, 23, 59, 59);
repository.Save();
return RedirectToAction("Details", new { @id = model.Id });
}
return View(formModel);
}
答案 0 :(得分:0)
如果只是想要添加小时(并且小时是常量值)的问题,您可以使用ActionFilterAttribute,并且在绑定设置小时的步骤中,所以在您的肌动蛋白的这种情况下,您将获得正确的日期值。
如果您使用自定义表单提交,您可以通过JS更新值,但在这种情况下,您应该注意本地化(原因如果重要)。
所以在我看来,ActionFilterAttribute是更好的方式。
但是如果你可以更新模型,你可以创建如下属性:
private DateTime _date
public DateTime Date{
set{
this._date = value;
//ADD CODE TO ADD HOURS
}
get{return _date ;}
}
答案 1 :(得分:0)
我会使用您的第二个选项 - 更新操作。 理由:
但像往常一样,你的问题没有正确答案。可用性,可维护性,易于理解......你知道其余的......
希望这有帮助。