0

レコードを更新しようとしていて、更新から 1 つの列を除外したいのですが、このフィールドには SQL のデフォルト値として GetDate() が入力されているので、更新が行われたときにこのフィールドをそのままにしておく必要があります。 、

 [ScaffoldColumn(false)]

    [Column] public DateTime RegisteredDate { get; set; }

dataannotation の ScaffoldColumnFalse と HiddenInput(DisplayValue = false) の両方を使用してみましたが、変更を保存しようとするとエラーがスローされます

 sqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

私が理解していることから、これはRegisterdDateフィールドにnull値が渡されたためにスローされます。

また、ActionResult スタブで bind Exclude を使用してみましたが、役に立ちませんでした

 public ActionResult Edit([Bind(Exclude = "RegisteredDate")] Customer customer)

ここで私が間違っている場所について何か考えはありますか?

敬具

リアム

4

1 に答える 1

0

Steve Sandersons のブログ、ASP.NET MVC 2 での部分的な検証をご覧ください。彼のアプローチは、ビューからの入力値のみを検証することです。これはあなたの場合にうまくいくかもしれません。

于 2011-06-03T14:20:59.387 に答える