2011-02-09 2 views
2

モデルのDateTimeプロパティをバインドして、ユーザーが選択したタイムゾーンでビューに表示されるようにする方法があるのは誰かデータベースに格納するためのUTC。ASP.NET MVC 3を使用するすべてのモデルでDateTimeプロパティをバインドおよび変換する

SQL Server 2005データベースでASP.NET MVC 3を使用していますが、すぐに2008にアップグレードされ、ソリューションに役立つ場合は新しいdatetime型を使用できます。

私はこのpostのコードを使用しています。これは、ビューから投稿された日付と時刻の情報をバインドするのにうまくいきます。少し余分なコードがあると仮定して、データをUTCに簡単に変換できます。

だから、私は私が助けを必要と2つのオプションがあると思い:

  1. カスタムレンダラ

をUTCように、ビューにデータをレンダリングするオブジェクトをオーバーライドする方法はありますビューを表示するときに日付がユーザーのタイムゾーンに変換された場合、私が既に持っているカスタムバインダーはDBに格納するためにそれを元に戻します。

  1. 私が気づいていないより良い方法がありますか?

これは多くのサイトで使用できる機能です(私はまっすぐなASP.NETでこのサイトの最初のバージョンで使用しています)が、同じメソッドをもう一度やり直す前に情報を表示するときに呼び出された静的関数を持っていて、保存する前に同様の関数呼び出しをしていた)、誰かがより良い解決策を持っているかどうかを知りたい。

おかげ マーク

+0

私はそのようなものが必要です。正確にそれは実際にそうです。 – melancia

答えて

1

あなたはDateTimeのためにカスタマイズされたテンプレートでHtml.EditorForとHtml.DisplayForを使用することができます。あなたは依然としてカスタムバインダーを必要とします。

+0

ルカシありがとう。私はそれがメソッドであるかもしれないと思っていました。私はjQuery DAteとTimeピッカーを使用できるように、日付と時刻の区切りにカスタムエディタを使用しています。ちょうど私がMVCフレームワークでベストプラクティスと見なされていたことを確実にするためのフィードバックがほしいと思っていました。 –

関連する問題