4 Stimmen

ASP.NET MVC Display Format formatiert DateTime nicht in eine reine Datumszeichenfolge

Ich habe mein Anzeigeformat folgendermaßen eingestellt

<DisplayName("birthdate")> _
<DisplayFormat(ApplyFormatInEditMode:=True, DataFormatString:="{0:MM/dd/yyyy}")> _
Public Property BirthDate As DateTime

In der Ansicht habe ich dann folgendes

<%: Html.TextBoxFor(Function(model) model.BirthDate, Model.BirthDate)%>
<%: Html.ValidationMessageFor(Function(model) model.BirthDate) %>

Das heißt, die Ausgabe "sollte" sein

6/24/1982

Aber leider ist die Ausgabe

6/24/1982 12:00:00 UHR

Weiß jemand, was ich hier übersehen haben könnte?

6voto

Rup Punkte 32603

Digging durch die MVC2 Quelle von Codeplex, meine beste Vermutung ist, dass Sie verwenden müssen EditorFor no TextBoxFor . TextBoxFor verwendet

string valueParameter = Convert.ToString(value, CultureInfo.CurrentCulture);

die Formatattribute ignoriert (obwohl es sie über die ModelMetadata-Klassen nachgeschlagen hat), während EditorFor und DisplayFor auf den internen TemplateHelpers aufbauen, die die Formatattribute verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X