同僚と一緒に設計決定の障害を解決するための支援が必要です。私は彼の意見をほとんど尊重しませんが、Stack Overflowに質問を投稿するのが大好きなので、ここに行きます:)
次のモデルがあるとします。
public class Foo
{
public DateTime FooDate { get; set; }
}
私のテンプレートでは、このモデルの更新/挿入を行うためのフォームを作成したいので、次のコードがあります。
@using(Html.BeginForm(...))
{
...
@Html.EditorFor(m => m.FooDate)
...
}
更新を行うと、テキストボックスの値が既存のモデルの値に設定されます。これは適切です。ただし、挿入用の空のモデルを使用してこれを行うと、テキストボックスがに設定されます1/1/0001
。これは適切ではありません。
なぜこれが起こるのかは私には明らかであり、解決策はFooDate
null許容にし、[Required]
それに属性を設定することであるように思われます。FooDate
プロパティは実際にはnull許容ではないため、私の同僚はこれを承認していないようです。
他のオプションは、私が思う挿入と更新のために異なるフォームテンプレートを持つことですが、それは他の点でも同様に無駄に思えます。
他の誰かがこのジレンマに遭遇しましたか?もしそうなら、あなたはそれを解決/回避するためにどのようなルートを取りましたか?