2010-12-04 10 views
6

Meiner Ansicht nach Modell habe ich das folgende Attribut:ASP.net MVC Daten Anmerkungen Datetime-Standardwert

[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; } 

Aus meiner Sicht i folgende Voraussetzungen erfüllt sein:

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

Vor dem Absenden des Formulars die Standard Wert für DOB ist 1/01/0001 Wie kann ich diesen Wert automatisch auffüllen? Ich möchte einfach ein leeres Feld, wenn Leute dieses Formular besuchen?

Antwort

7

Ich glaube, Sie müssen die Nullable DateTime verwenden? Art. DateTime kann nicht null sein, daher hat es immer einen Wert.

6

Versuchen Sie, die DOB Datetime-nullable wie @Mayo macht es heißt:

public DateTime? DOB { get; set; } 
1

Datetime ist vom Typ struct. Daher kann DateTime standardmäßig nicht null sein. Der Standardwert ist '01/01/0001 '. Lösung für Ihr Problem ist, die Nullable DateTime zu verwenden? Art. Wenn Sie einen Wert wie '01/01/2014 'als Standardwert festlegen möchten, können Sie einen Wert wie folgt zuweisen: DOB = new DateTime (2014, 01, 01);