Model クラスに DateTime プロパティがあり、
次に、ビューで使用しています:
@Html.TextBoxFor(m => m.BirthDay, new {@disabled="true" , @value="" })
View TextBox Displayed as [01/01/0001 00:00:00] で、強制的に Empty にする方法は?
Model クラスに DateTime プロパティがあり、
次に、ビューで使用しています:
@Html.TextBoxFor(m => m.BirthDay, new {@disabled="true" , @value="" })
View TextBox Displayed as [01/01/0001 00:00:00] で、強制的に Empty にする方法は?
DateTime のデフォルト値 = 01/01/0001 00:00:00
これは、DateTime がオブジェクトではなく構造体であるためです。これは、デフォルト値 = 0 の Int などの他の C# 変数にもカウントされます。
String などの他の C# 変数は、オブジェクトであるため、既定で null 可能です。
これらの構造体を null 可能にするには、次のように変数宣言に QuestionMark を追加する必要があります
public DateTime? BirthDay { get; set; }
DateTime に null 値を含めることができるようになりました。テキストボックスの値には、デフォルトでは何も含まれません
構造体に を追加することは、 が構造体である場合?
の C# シュガーです。と書き直せる
ので。Nullable<T>
T
DateTime?
Nullable<DateTime>
これは機能しますか?モデルの変更:
public DateTime? BirthDay {get; set;}
それ以外の
public DateTime BirthDay {get; set;}
これでできます。
@Html.TextBox("BirthDay", "", new {@disabled="true" })
を強く型付けしないTextBox
ので、任意の値を設定できます。他の方向へのバインディングは通常どおり機能します。