Binding en-GB Datumsangaben in einem HTTP GET

8

Ich habe einen Albtraum einer Zeit mit Dates. Waren in Großbritannien, so ist unser Datumsformat TT / MM / JJJJ. Dies geben die Benutzer in das Formular ein, wenn sie ein bestimmtes Datum wünschen. Ich habe ein Formular, das genau solch eine Eigenschaft akzeptiert. Es ist offensichtlich ein DateTime-Typ. Ich möchte dieses Formular an den Controller in einem GET senden, so dass der Benutzer eine nette URL hat, die er speichern kann, etc. Weiter muss die Ansicht auch ein JQuery UI-Datumsauswahlelement an dieses Element binden. Ich benötige auch das Formularelement, um eine bestimmte ID und Klasse zu haben, also muss ich wirklich dieses zum Formular so darstellen:

%Vor%

Ich habe eine britische Kulturvariante in der web.config angegeben:

%Vor%

Es scheint jedoch, wie hier erklärt ( Ссылка ) dass wenn MVC einen Controlleraktualisierung erhält, dass MVC die Kulturvariante ignoriert und US (natürlich gibt es niemanden außerhalb der USA, also ist das in Ordnung für Microsoft, rant über) Das angehängte hilft nicht, weil es bedeutet, dass ich müsste das für jedes Datum in jedem Modell einrichten!

Dies bedeutet, dass, wenn ein Benutzer 01/05/2012 eintippt, ich am 05/01/2012 gelandet bin, was falsch ist!

Ich habe mir verschiedene Lösungen für dieses Problem angesehen, aber keines passt wirklich zu dem, was ich brauche. Ich brauche einen Weg, so dass Alle über ein GET gesendeten Daten im UK-Format sind . Wir sind ausschließlich in Großbritannien ansässig, daher werden keine britischen Formate eingegeben.

Ich möchte nicht wirklich erstellen und bearbeiten, es sei denn, es ist eine Möglichkeit, dass ich dies ohne ein an diesen Editor angehängtes View / Viewmodel machen kann, da es schwer wird, dies überall dort zu verwenden, wo wir eine Datumsauswahl haben. p>

Alle Hilfe wird dankbar erhalten!

    
Liam 22.03.2012, 11:30
quelle

2 Antworten

10

Habe eine Lösung, dank @Jon für die Hinweise:

%Vor%

Registrieren Sie sich dann in global.asax:

%Vor%

AKTUALISIEREN

hat dies geändert, um das gleiche Problem beim POSTing zu ermöglichen!

    
Liam 22.03.2012, 12:16
quelle
2

Zusätzlich zu Liams Antwort:

Für diejenigen, die dieses Problem noch haben (!) und versuchen, eine Nullable DateTime zu binden, vergewissern Sie sich, dass Sie den korrekten Typ in global.asax:

registrieren %Vor%

Hatten Sie mich für 15 Minuten ratlos!

    
Nick 10.11.2016 11:29
quelle