私はC#MVCプロジェクトを持っており、ユーザーはデータの出力方法を選択できます(kmh/mph、CST、EStなどでの速度、KMでの距離、マイル、メーター、ヘクターなど)。設定を取得するたびにdbに戻って実行するのではなく、ログオン時に暗号化されたクッキーのユーザーデータ部分に埋め込みます。私は、私のサービスがBLLで実装され、BOLで定義されたモデルでサービス・レポジトリ・パターンも使用しています。また、データをJsonResults(NewtonSoft Libraryを使用)として返します。このユニット選好情報をビジネスロジックレイヤーに渡すことなく、データをユーザー指定のタイプに変換するための最良の戦略(場所と方法)は何ですか?最初はcustomAttributesを使用し、独自のCustomJsonResult actionResultを作成してリフレクションを使用し、Json文字列を生成することを考えていましたが、これは自分のオブジェクトトラバーサルアルゴリズムが必要になります。私の主な関心事は、自分のアプリケーションを無国籍にしたいということです。MVCユーザーフォーマットの出力
1
A
答えて
0
この変換は、ビジネスオブジェクトをビューに渡すビューモデルに変換するマッピングレイヤーで実行できると思います。したがって、コントローラはビジネスレイヤにクエリを実行してモデルを取得し、次にクッキーに格納されたユーザ設定をクエリし、それらの2つのエンティティをマッピングレイヤに渡します。マッピングレイヤは、ユーザロケールに基づいて必要な変換とフォーマットを行い、単純に情報を出力する強く型付けされたビューに送信される準備ができているビューモデル。
もう1つの可能性は、ビュー内でモデル値を取り、クッキー出力に保存されたユーザー設定に基づいて変換を実行し、フォーマットされた文字列を出力するカスタムHTMLヘルパーを使用することです。
関連する問題
- 1. MVCの出力キャッシュ
- 2. ハッシュテーブルの出力Asp.net MVC
- 3. Html.Routelink出力 - ASP.NET C#MVC
- 4. ASP.NET MVCで出力をキャプチャ
- 5. ASP.NET MVCとトレース出力のバグが出力されました
- 6. MVC 3での出力キャッシングと置換
- 7. asp.net MVCの単一ビューでの複数の出力の結合MVC
- 8. コントローラの出力とビューのプロパティの間のMVCの不一致
- 9. Stringstream出力ポインタの出力
- 10. テキストへのエクスポートまたはMVCコントローラからの出力
- 11. mvc 4バンドル出力の先頭にCDN urlを追加
- 12. Spring MVC 3.1コントローラのハンドラメソッドで応答出力ストリームに直接ストリーム
- 13. ASP.NET MVC:別のアクション内でアクション出力を取得
- 14. MVC++ 2010のWin32アプリケーションでコンソール/デバッグウィンドウに出力
- 15. Spring 3.1 MVCビューのレンダリングされた出力を取得する
- 16. ファイルへのPHPスクリプト出力の出力
- 17. LINQとASP.NET MVCを使用したストアドプロシージャ複数テーブル出力
- 18. asp.net mvc 3 RAM使用量とキャッシング出力(varybycustom)
- 19. MVC 4で垣間見る出力が表示されない
- 20. MVC Razor - 画面上にテキストをインポジションに出力する
- 21. ASP.NET MVC - 出力思考webserviceをレンダリングして送信
- 22. ASP.NET MVC - 異なる出力モデルを持つタイプセーフHtml.TextBoxFor
- 23. コンソール出力をC++のファイルに出力
- 24. はSweave + RweaveHTML:猫の出力が出力
- 25. 出力ファイルに出力データを出力しています
- 26. コンソールアプリケーションの入力と出力
- 27. 入力と出力のリダイレクト
- 28. scipy.optimize.fsolveの入力/出力エラー
- 29. プロローグでの入力出力
- 30. パイプライン入力/出力
Hey Darin、洞察のおかげで、私は別のActionResultsすなわちJsonResult()、CSVResult()などにデータを渡しています。したがって、これらのデフォルトのメソッドに送信する前に、 。あなたは私がHTMLビューにレンダリングしていた場合、静的ヘルパー関数でこれを行うことができます。しかし、私はそうではありません: – Amit
@Amit、マッピング層で変換を実行するための私の最初の提案は有効なままです。 –