2017-03-24 2 views
-1

Ich habe den folgenden Code, um das Datum in meinen Ansichten zu formatieren.Formatieren des Datums ASP.NET C# für die Bearbeitungsansicht

[DisplayName("Date Last Seen")] 
[DataType(DataType.Date), DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public DateTime? LostDate { get; set; } 

alles funktioniert, außer dass, wenn ich das auf Bearbeiten sehen Sie den aktuellen Wert von „LostDate“ automatisch nicht gerendert gerät.

Wie behebe ich das?

Bearbeiten Ich habe den Code unten für die Bearbeitungsansicht.

<div class="form-group"> 
    @Html.LabelFor(model => model.LostDate, htmlAttributes: new { @class = "control-label col-md-2" }) 
    <div class="col-md-10"> 
     @Html.EditorFor(model => model.LostDate, new { htmlAttributes = new { @class = "form-control" } }) 
     @Html.ValidationMessageFor(model => model.LostDate, "", new { @class = "text-danger" }) 
    </div> 
</div> 

Edit 2 Ich habe die Frage der das Datum nicht erscheinen, durch eine Änderung gelöst "{0: TT-MM-JJJJ}" {0: yyyy-MM-dd} aber in allen meinen anderen Das Datum wird jetzt im ersten Jahr angezeigt.

+0

setzen Sie das aktuelle Datum auf Sicht richtig? –

Antwort

0

Erstellen Sie einen Klassenkonstruktor und legen Sie den Standardwert fest. beispielsweise.

public Classname() 
{ 
    LostDate=DateTime.Now; 
} 

public DateTime? LostDate { get; set; } 

Andere Option

Verwendung benutzerdefinierte Validierung. so refer this link in more details

versuchen Sie es.

+0

Gleiches Ergebnis. Ich kann es erscheinen lassen, wenn ich das (DataType.Date) entferne, aber dann verliere ich den Dropdown-Kalender und das Format. – Chris

+0

also verwende DataType (DataType.DateTime) und probiere es –

+0

Ich verliere immer noch den Dropdown-Kalender und wenn ich weg von dem Feld klicke, heißt es dort ist es im falschen Format. – Chris

Verwandte Themen