IoCでビューの依存関係を解決する良い方法はありますか?キャッスルウィンザーに基づく私自身のIoC決議があります。私はIResourceService
を持っています。私はいくつかの文字列を解決するために私の意見にアクセスしたいと思います。IoCとASP.NET MVCビュー
答えて
私はその中に私の依存関係を解決した後、拡張子の方法のために行くだろう:私の見解では
public static class LocalizationExtentions
{
public static string Localize(this HtmlHelper html, string resource)
{
var localize = IoC.Resolve<ILocalize>();
return localize.For(resource);
}
}
を:
<h1><%= Html.Localize("MainTitle") %></h1>
コントローラで解決してから、ViewModelに入れて解決されたインスタンスにアクセスできますか?
いいえ、それは多くの冗長コードを追加します。 IResourceServiceを使用してローカライズされた文字列をロードしたいだけです。 –
AutoMapperを使用して、依存関係を渡すためのカスタムビューモデルを作成してみてください。 AutoMapperはその冗長コードをたくさん削除します。 –
私はWinsorを使用していませんが、コードビハインドのビューを使用する場合はセッター注入が可能です。 なぜビューに対する依存関係を解決したいのですか?それは奇妙なことのように聞こえる。
ラッパーを使用できますか?そのラッパーの中にウィンザーにサービスが解決されるかどうか直接問い合わせてください。あなたの見解から、解決したサービスにすべてを渡すResourceHelperクラスを使用してください。あなたのビューのHtmlHelperクラスのように、ResourceHelperクラスを使うことができます。
私はすでにこれを持っています。 –
ソースをダウンロードして、小さな変更を加えて使用しますか?ビルドマネージャがコンパイルされたページオブジェクトを作成した後、プロパティインジェクションを行うことができるように、Webフォームビューエンジンの小さな変更によってそれを行うことができます。
それ以外の場合は、ベースコントローラを作成し、アクション実行メソッドをオーバーライドしてビューデータに注入しない限り、醜い状態になります。
編集
http://aspnet.codeplex.com/sourcecontrol/changeset/view/23011?projectName=aspnet#266535
右あなたがプロパティインジェクションを行うには、あなたのサービスロケータを求めることができるviewInstanceにヌル確認後、ページのインスタンスを作成するファイルハンドルです。
- 1. ASP.NET MVCビューとjQuery.data()
- 2. Asp.Net MVCコントローラとビュー
- 3. asp.net mvc - ビューとコントローラ
- 4. ASP.NET MVCとWCFとNinjectをIoC/DIとして統合
- 5. ASP.Net MVCランダム、コントローラとビュー
- 6. ASP.NET MVC 3ビューとモデル
- 7. ASP.net MVC - ビューとjQueryのベストプラクティス
- 8. ASP.net MVCのビュー
- 9. はasp.net MVCビュー
- 10. MVC 3 CookieTempDataProviderとNinject IOC
- 11. MVC IoCコンポーネントライフスタイルPerWebRequest
- 12. 部分ビューasp.net mvc
- 13. フォームAsp.Net MVCビューで
- 14. C#ASP.Net MVCビュー号
- 15. ASP.NET MVC動的ビュー
- 16. Spring MVCのIOCコンテナ
- 17. Asp.Net MVCコントローラ - アクションとビューのマッピングメタデータ
- 18. 多くのasp.net MVCビューとコントローラ
- 19. Asp.Net MVCのルーティングと複数のビュー
- 20. asp.net mvcビューの検索と編集
- 21. asp.net mvc 3と動的ビュー生成
- 22. ASP.Net MVC - ビュー内のヌルオブジェクト
- 23. ASP.NET MVCベーシックルーティング(ビュー名なし)
- 24. マスター詳細ビューASP.NET MVC
- 25. ASP.NET MVC load Razorビューfromデータベース
- 26. ASP.NET MVC 4 - ビューにID
- 27. WebFormsアプリケーション内のASP.Net MVCビュー
- 28. asp.net mvc剃刀ビューのインクリメント
- 29. 部分ビューのコントローラASP.NET MVC
- 30. Java MVCの部分ビューASP.NET MVC
一日の終わりには、あなたがあなたのサービスを呼び出す想定しない方法ビュー自体を見る。その点であなたの目標は何ですか?サンプルビューはどのように見えますか?実際にビューに自動依存関係を注入することなく、目標を達成するための別の方法を見つけることができます。 – NerdFury