2010-12-04 5 views
6

私は、次の属性があります:デフォルトフォームを送信する前にASP.net MVCデータ注釈のDateTimeデフォルト値私の見解モデルで

<div class="editor-label"> 
    @Html.LabelFor(model => model.DOB) 
</div> 
<div class="editor-field"> 
    @Html.EditorFor(model => model.DOB) 
    @Html.ValidationMessageFor(model => model.DOB) 
</div> 

:私は以下を持っている私の見解では

[Required] 
[DataType(DataType.Date, ErrorMessage="Please enter a valid date in the format dd/mm/yyyy")] 
[Display(Name = "Date of Birth")] 
public DateTime DOB { get; set; } 

をDOBの値は1/01/0001です。この値が自動的に入力されるのを止めるにはどうすればいいですか?人がこのフォームにアクセスすると空のフィールドが必要になりますか?

答えて

7

nullable DateTimeを使用する必要がありますか?タイプ。 DateTimeはnullにできないため、常に値を持ちます。 @MayoのようなDOBのDateTime NULL可能を作る

6

てみ状態:

public DateTime? DOB { get; set; } 
1

のDateTime型の構造体です。したがって、デフォルトでDateTimeはnullにはできません。デフォルト値は'01/01/0001 'です。 問題を解決するにはnull可能なDateTimeを使用しますか?タイプ。 デフォルト値に'01/01/2014 'のような値を設定する場合は、次のように値を割り当てることができます。 DOB = new DateTime(2014、01、01);

関連する問題