コンポーネントの表示
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
September 2024より前にASP.NET Coreアプリを統合した場合は、従来の ASP.NET CoreレンダリングSDKバージョン22以前が使用されています。このSDKは更新プログラムを受け取らなくなったため、新しい ASP.NET Core SDKの最新バージョンにアップグレードすることをお勧めします。
ASP.NETでは、ビュー コンポーネントはパーシャル ビューと似ていますが、より強力です。詳細については 、ビューコンポーネントに関するMicrosoftのドキュメント を参照してください。
ビューコンポーネントは、ナビゲーションメニュー、ログインパネル、検索バーなど、部分ビューには複雑すぎるロジックをレンダリングすることを目的としています。通常、ビュー コンポーネントはASP.NETモデル バインディングを使用せず、オンデマンドでのみデータにアクセスします。ただし、ASP.NETレンダリング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")
);
}