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