我需要帮助解决与同事的设计决策障碍。我几乎不尊重他的意见,但喜欢在 Stack Overflow 上发布问题,所以这里是 :)
假设我有以下模型:
public class Foo
{
public DateTime FooDate { get; set; }
}
在我的模板中,我想创建一个表单来更新/插入这个模型,所以我有以下代码:
@using(Html.BeginForm(...))
{
...
@Html.EditorFor(m => m.FooDate)
...
}
在进行更新时,这会将文本框的值设置为现有模型的值,这很好。但是,当我使用插入的空模型执行此操作时,它将文本框设置为1/1/0001
,这不好。
为什么会发生这种情况对我来说很明显,解决方案似乎是可以为FooDate
空并[Required]
在其上放置一个属性。我的同事似乎不同意这一点,因为该FooDate
属性并不是真正可以为空的。
我想另一种选择是为插入和更新使用不同的表单模板,但这在其他方面似乎同样浪费。
有没有其他人遇到过这个困境?如果是这样,您采取了什么途径来解决/绕过它?