2010-12-04 15 views
6

i aşağıdaki öznitelik vardır: Varsayılan formu göndermeden önceASP.net MVC Veri Açıklamalar DateTime Varsayılan Değer benim bakış modelinde

<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> 

i aşağıdakilere sahip Bence

[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 değeri 1/01/0001 Bu değeri otomatik olarak doldurmayı nasıl durduracağım, insanlar bu formu ziyaret ettiğinde sadece boş bir alan mı istiyorum?

cevap

7

Doldurulabilir DateTime'ı kullanmanız gerektiğine inanıyorum? yazın. DateTime boş olamaz, dolayısıyla her zaman bir değere sahip olur. @Mayo gibi DOB DateTime Nullable yapma

6

deneyin devletler:

public DateTime? DOB { get; set; } 
1

DateTime türü yapı taşımaktadır. Yani, varsayılan olarak DateTime boş olamaz. Varsayılan değeri '01/01/0001 'değerine eşittir. Sorununuz için çözüm null Null DateTime kullanmak mı? yazın. Eğer '01/01/2014' gibi bir değere varsayılan değer vermek isterseniz, o zaman aşağıdaki gibi bir değer atayabilirsiniz: DOB = yeni DateTime (2014, 01, 01);