0

Model クラスに DateTime プロパティがあり、

次に、ビューで使用しています:

 @Html.TextBoxFor(m => m.BirthDay, new {@disabled="true" , @value="" })

View TextBox Displayed as [01/01/0001 00:00:00] で、強制的に Empty にする方法は?

4

3 に答える 3

4

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>

于 2012-11-20T10:51:36.540 に答える
1

これは機能しますか?モデルの変更:

public DateTime? BirthDay {get; set;}

それ以外の

public DateTime BirthDay {get; set;}
于 2012-11-20T10:32:04.740 に答える
0

これでできます。

@Html.TextBox("BirthDay", "", new {@disabled="true" })

を強く型付けしないTextBoxので、任意の値を設定できます。他の方向へのバインディングは通常どおり機能します。

Html.Textbox VS Html.TextboxFor

于 2012-11-20T10:54:37.293 に答える