コンポーネントの表示
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ASP.NETでは、ビュー コンポーネントはパーシャル ビューに似ていますが、より強力です。詳細については 、ビューコンポーネントに関するMicrosoftのドキュメント を参照してください。
ビューコンポーネントは、ナビゲーションメニュー、ログインパネル、検索バーなど、部分ビューには複雑すぎるロジックをレンダリングすることを目的としています。通常、ビュー コンポーネントはASP.NETモデル バインディングを使用せず、オンデマンドでのみデータにアクセスします。ただし、ASP.NET Rendering SDKには、モデルをレイアウト サービス出力にバインドするためのサービスと基本コンポーネントが用意されています。
ビュー コンポーネントは、次の3つのファイルで構成されます。
-
ビュー コンポーネント クラス
-
Razorビュー
-
ビューモデルクラス
ビューコンポーネントの設定
ビューコンポーネントでモデルをバインドするには、Sitecore.AspNet.RenderingEngine.Mvc, BindingViewComponentから継承してBindViewを呼び出すか、Sitecore.AspNet.RenderingEngine.Binding.IViewModelBinderサービスを挿入してBindのオーバーロードを呼び出します。
また、レイアウト・サービス・レスポンスをビュー・コンポーネントにマップするには、AddViewComponent()拡張メソッドを使用する必要があります。
次の例では、AddViewComponent("Styleguide-Layout", "StyleguideLayout") はStyleguide-Layoutレスポンス コンポーネントをStyleguideLayoutViewComponentビュー コンポーネントにマップし、プレフィックスがscが付いたすべてのレスポンス コンポーネントをOtherViewComponentビュー コンポーネントAddViewComponent(name => name.StartsWith("sc"), "OtherViewComponent")マップします。
public void ConfigureServices(IServiceCollection services)
{
var renderingEngineBuilder = services.AddSitecoreRenderingEngine(options =>
options
.AddViewComponent("Styleguide-Layout", "StyleguideLayout")
.AddViewComponent(name => name.StartsWith("sc"), "Other")
);
}