2012-04-04 3 views
0

Ich werde Unterstützung von verschiedenen Zeitzone in meiner ASP.NET MVC3 App hinzufügen.ASP.NET MVC3 Die beste Methode zum Anpassen der Konvertierung von Eingabeparametern

Die Lösung besteht darin, Datumswerte in UTC-Zeit zu speichern und Benutzer Zeitzone Offset zu speichern.

Also, ich brauche zwei Dinge:

  1. Senden Datumswerte an Benutzer in „Benutzerbereich“ (es ist klar, ich pass Datum Wrapper, der Zeit Benutzerzeit konvertieren)

  2. abrufen Datum von Benutzer in "Benutzerzeit" und konvertieren Sie es in UTC.

Frage ist - was die nette Art und Weise ist alle Eingabe von Datumswerten in UTC-Zeit zu konvertieren. Oder gibt es eine generische Möglichkeit, einige Konvertierungsregeln zu ASP.NET MVC hinzuzufügen?

Dieses ideales Schema, was ich will (Controller empfängt bereits umgerechneten Werte)

enter image description here

+0

woher kennen Sie die Zeitzone des Benutzers? – TDaver

+0

Es hängt nicht mit Frage zusammen. Angenommen, ich weiß es. F. e. etwas statische Variable. –

+0

Ok, ich kann Zeitzone Offset von Javascirpt-Code (-new Date(). GetTimezoneOffset()) und es auf den Server veröffentlichen. –

Antwort

2

Eine Möglichkeit könnte sein, Ihre eigenen Modelbinder zu erstellen, die die Arbeit der Zuordnung zu tun und die Daten für Ihre Aktionsmethode Vorbereitung in der Steuerung.

This post from Hanselman's Blog sollte Ihnen eine Vorstellung davon geben, was ich meine. Offensichtlich Ich gehe davon aus, dass Sie alle Daten erhalten können Sie innerhalb der Methode müssen

BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext); 

Wie die Benutzerzeitzone mit einem Repository oder ein verstecktes Feld in der Post bekommen.

+0

danke, ich denke, das ist der richtige Weg) –

Verwandte Themen