ASP.NET MVCコアの依存性注入を見ます

  依存性注入を使用することを試みることにASP.NETコアサポート。このビューは、ビューの要素を取り込むために使用される、ローカライズまたはデータのみなど、特定のサービスを提供するのに役立ちます。コントローラとビュー間の関心事の分離を維持する必要があります。ビューを表示するデータのほとんどは、コントローラから渡されなければなりません。

  使用@Injectサービス指令は、例えば、ビュー、構文@Inject <タイプ> <名前>に注入されています。

@model MVCTest.Models.Operation 
@using MVCTest.Services 
@Inject BaseInfoServices BaseInfoServices 

@ { 
    ViewDataを[ " タイトル" ] = " 作成" 
}
 <UL> 
    @foreach(VARの都市におけるBaseInfoServices.GetCities())
    {
     <LI> @city </ LI> 
    }
 </ UL>
    パブリック クラスBaseInfoServices 
    { 
        公共の一覧< 文字列 > GetCities()
        { 
            返す 新しいリスト< 文字列 > )(; 
        } 
    }

  事前に構成されたConfigureServicesは、サービスコンテナに添加しました。

 

  1.検索パディングデータ

  そのようなドロップダウンリストボックスとして表示するUI要素を充填注射を容易にします。例えば、性別、状態、およびユーザ・データの他の形態。あなたは、標準のMVCでこのフォームをレンダリングする場合は、オプションの各セットのためのコントローラが必要ですデータ・アクセス・サービスを要求して、モデルやオプションViewBag各グループが結合内に充填されています。

  別のサービスは、直接これらのオプションのビューデータ内に注入されます。最小限にコントローラコードの量を減少させるこの方法は、要素の論理ビューは、ビュー自体を移動させるように構成されています。アクションコントローラは、単にフォームにユーザプロファイルデータを渡します。

  

  2.書き換えサービス

  サービスを注入することに加えて、この技術は、以前のサービスに注入ページを上書きするために使用することができます。たとえば、デフォルトのHTMLヘルパーを置き換えます。

@model MVCTest.Models.Operation 
@using MVCTest.Services 
@Inject BaseInfoServices BaseInfoServices 
@Inject MyHtmlHelperのHTML

  サービスのカスタムを呼び出しますビューで@htmlを使用してください。

  既存のサービスを拡張するのではなく交換したい場合は、あなただけのサービスを継承することができたり、パッケージが達成されたように、この技術を使用する必要があります。

 

おすすめ

転載: www.cnblogs.com/afei-24/p/11366373.html