私は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. ugettextへのユーザーフォーマット
- 2. MVCの出力キャッシュ
- 3. MVCのページ出力キャッシュ
- 4. ハッシュテーブルの出力Asp.net MVC
- 5. ASP.NET MVC:出力の検証
- 6. ASP.NET MVCで出力をキャプチャ
- 7. Html.Routelink出力 - ASP.NET C#MVC
- 8. ストリームSpring MVCでJSON出力
- 9. ASP.NET MVCとトレース出力のバグが出力されました
- 10. MVCコントローラ自体のLinq出力にアクセス
- 11. MVC 3での出力キャッシングと置換
- 12. Spring MVC、Hibernate、MySQL出力テーブル、チャート
- 13. asp.net MVCの単一ビューでの複数の出力の結合MVC
- 14. コントローラの出力とビューのプロパティの間のMVCの不一致
- 15. MVC 5ホームページユーザーと匿名のゲストごとの出力キャッシュ
- 16. テキストへのエクスポートまたはMVCコントローラからの出力
- 17. MVC入力アクションメソッド
- 18. ASP.NET MVC:別のアクション内でアクション出力を取得
- 19. mvc 4バンドル出力の先頭にCDN urlを追加
- 20. ASP.NET MVC foreachは複数のエントリを出力します
- 21. ASP.NET MVC辞書<文字列、文字列>ビューの出力
- 22. MVC++ 2010のWin32アプリケーションでコンソール/デバッグウィンドウに出力
- 23. Spring MVC 3.1コントローラのハンドラメソッドで応答出力ストリームに直接ストリーム
- 24. Spring 3.1 MVCビューのレンダリングされた出力を取得する
- 25. 出力キャッシュまたはhttpcontext.current.cache私のMVCアプリケーション
- 26. 2つの出力ファイル名が同じ出力パスに解決されました。MVC内のmigration.init
- 27. Stringstream出力ポインタの出力
- 28. Laravelデータ出力の出力
- 29. ASP.net MVC入力ボックス
- 30. ASP.NET MVC - 出力思考webserviceをレンダリングして送信
Hey Darin、洞察のおかげで、私は別のActionResultsすなわちJsonResult()、CSVResult()などにデータを渡しています。したがって、これらのデフォルトのメソッドに送信する前に、 。あなたは私がHTMLビューにレンダリングしていた場合、静的ヘルパー関数でこれを行うことができます。しかし、私はそうではありません: – Amit
@Amit、マッピング層で変換を実行するための私の最初の提案は有効なままです。 –