私はUnity Dependency Injectionで作業を始めました。私はコントローラとモデル、そしてモデルとの使用方法を理解しました。しかし、私はビューでそれを使用する方法がわかりません...Unity.Mvc5でMVCビューにサービスを注入
私がしたいことは、登録されたサービスを使用してビュー内から検索リストを取得することができるでしょう。
このURLを参照すると、http://blog.simontimms.com/2015/06/09/getting-lookup-data-into-you-view/はMVC6での操作方法を示しています。これは、ビューの@injectディレクティブを使用します。しかし、私はMVC5に悩まされています。このMVC5はこの指令を持っていないようです。
@injectの代わりにMVC5がありますか?
私は...私はこのように私のコントローラでサービスにアクセスするので...
Public Shared Sub RegisterComponents()
Dim container = New UnityContainer()
container.RegisterType(Of IMyService, MyService)()
container.RegisterType(Of IRepository(Of MyModel), MyRepository)()
DependencyResolver.SetResolver(New UnityDependencyResolver(container))
End Sub
よう
<Dependency>
Public Property MyModelService() As IMyService
を私のサービスとリポジトリを登録してる私が今知っておく必要があるすべてがありますどのように私のかみそりのビューにサービスを注入する。
間違っている可能性がありますが、私はそれを行う方法がないと思います。しかし、関係なく、必要はありません。ビューにはできるだけ小さなコードが必要です。ビュー内のいくつかのサービスとやりとりするような作業を行うのは、MVCパターンの違反です。代わりに、あなたのコントローラでそれを処理し、関連するデータをビューに渡します。 –
また、以前は@injectディレクティブについて認識していませんでした。甘い神、それはひどいコードにつながるだろう。マイクロソフトがいつもそのような地雷を自分のものに追加する理由を理解していない。 Sheesh。 –
私の推論は、リストにデータを入れるためのコードでコントローラを乱雑にしないようにすることでした。これは、ビューにのみ関連しています。私がリンクしている記事はそれをうまく説明しています。私はあなたのポイントを参照してください。 – user1751825