2

同僚と一緒に設計決定の障害を解決するための支援が必要です。私は彼の意見をほとんど尊重しませんが、Stack Overflowに質問を投稿するのが大好きなので、ここに行きます:)

次のモデルがあるとします。

public class Foo
{
  public DateTime FooDate { get; set; }
}

私のテンプレートでは、このモデルの更新/挿入を行うためのフォームを作成したいので、次のコードがあります。

@using(Html.BeginForm(...))
{
  ...
  @Html.EditorFor(m => m.FooDate)
  ...
}

更新を行うと、テキストボックスの値が既存のモデルの値に設定されます。これは適切です。ただし、挿入用の空のモデルを使用してこれを行うと、テキストボックスがに設定されます1/1/0001。これは適切ではありません。

なぜこれが起こるのかは私には明らかであり、解決策はFooDatenull許容にし、[Required]それに属性を設定することであるように思われます。FooDateプロパティは実際にはnull許容ではないため、私の同僚はこれを承認していないようです。

他のオプションは、私が思う挿入と更新のために異なるフォームテンプレートを持つことですが、それは他の点でも同様に無駄に思えます。

他の誰かがこのジレンマに遭遇しましたか?もしそうなら、あなたはそれを解決/回避するためにどのようなルートを取りましたか?

4

1 に答える 1

0

私はここで同様の質問に答えました。それがあなたに役立つかどうかを確認してください。私はそれがあなたの問題を解決するかもしれないと思います。

于 2011-09-03T00:25:42.300 に答える