2
ASP.Net Core:ViewComponent vs EditorTemplate / DisplayTemplate vs @inject
そのため、ASP.Net Coreでビューにレンダリングする「コントロール」を作成するための良い方法を探していました。これまでのところ、3つのオプションがあることがわかりました。 ViewComponents:これらはミニコントローラーのようなもので、かみそりのページ(ビュー)からレンダリングするアクションのようなメソッドを使用します。私はそれらが自己完結型ロジックを持つことができるので、どの親ビューモデルにも依存しません。 EditorTemplate / DisplayTemplateフォルダー:これらは「Views / Shared /」の下に存在し、モデルプロパティをそれらに(DisplayFor()またはを使用してEditorFor())渡すことでビューにプルできます。 ASP.Net Coreの@inject:ビューに型を挿入できます(部分的なビューを関連付けることができるかどうかわかりません)。 部分的なビューを直接含める機能は、移植する制御システムの意図ではないため、省略します。 タグヘルパー-現在のビューコンテキストを挿入して、これらからコントロールを構築することもできます。 古いASP.NET MVCアプリでは、テンプレートからレンダリングされるいくつかのコントロールがありました(#2)。ただし、.Net Coreの場合、関連するかみそりビュー(コントロールは基本的にかみそりビューをラップするだけ)をレンダリングするために、代わりにViewComponents(より強力に見える)を使用することを考えています。とりあえず、ViewComponentsへの変換を試すつもりですが、この件についてのアドバイスがありがたいです。ありがとう。