2011-07-14 11 views
1

MVC 3でNinjectを使用して依存性注入を行う方法は? 私は今Ninject 2.2とNinject.MVC3 2.2.2.0を使用しています。ASP.Net MVC 3:Ninjectビューでの依存性注入

+0

を見つけました。チャンスは、あなたがしなければならないと思うよりも良い方法があります。ビューにコードを注入することは、悪い習慣をはるかに超えているので、間違ったパスを辿り、それをやりたいことさえしなければなりません。 –

答えて

1

には、Viewに何かを供給するべきではありません。 NinjectControllersに依存関係を提供しますが、コントローラーはViewで必要なモデルをビルドして渡すことが仕事です。

多くの良いチュートリアルがあります。例えば、hereを参照してください。

+0

いくつかのサービスを使用してビューに直接コードを直接書きたい場合はどうすればいいですか? –

+2

なぜこれをやりたいですか?これは一般に悪い習慣とみなされます。だから誰もそうしないと言ったら、なぜ悪い習慣をしたいのですか? –

+4

私はいくつかの部分的なビューを持っているので、それは常にウェブサイトを介して来るが、私はそれをレンダリングするためにすべてのコントローラからデータベースからデータを取得することは良い考えではないと思う、私はそれを分離したい、ビューにまっすぐ書いていますか? –

0

以前の回答を見てください。本当に必要ですか?ビューインジェクションはMVCパターンと矛盾しているため、ほとんどの場合、避けるべきです。

しかし、あなたは以下のあなたが行うことができますビューのいくつかの部分をレンダリングするために、いくつかのサービスが必要な場合:

  1. DependencyResolver.Current.GetService<IViewService>()を、これはよく知られているように私はこの方法を行うにはお勧めしません「サービスロケータ」アンチパターン。
  2. Here
  3. は私がより良いアプローチあなたが何をしたいのかを説明していた場合、それが役立つだろう