问题是我想以“{0:dd/MM/yyyy}”格式将日期显示为只读或禁用,按照博客的解决方案,我没有得到预期的结果,因为当我使用 DisplayFor 帮助器时,可以显示日期格式正确,但当我发布后,日期值更改为 {01/01/0001 12:00:00 am},并收到下一个错误“导致将 datetime2 数据类型转换为 smalldatetime 数据类型值超出范围。语句已终止。”
我认为的代码:
<div class="editor-label">
@Html.LabelFor(model => model.F_Alta, "Fecha de alta:")
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.F_Alta)
</div>
我的课:
[MetadataType(typeof(AlmacenMetaData))]
public partial class Almacen
{
}
public class AlmacenMetaData
{
[Required(ErrorMessage = MensajesValidacionAlmacen.DescripcionRequerido)]
[StringLength(32, ErrorMessage = MensajesValidacionAlmacen.DescripcionLongitud)]
public object D_Almacen
{
get;
set;
}
[DisplayFormat(DataFormatString = Formatos.Fecha, ApplyFormatInEditMode = true)]
public object F_Alta
{
get;
set;
}
}
我的控制器中的代码:
[HttpPost]
public ActionResult Editar(Almacen almacen)
{
if (ModelState.IsValid)
{
db.Almacen.Attach(almacen);
db.ObjectStateManager.ChangeObjectState(almacen, EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(almacen);
}
有什么建议吗,谢谢!