---
title: "コンポーネントを見る"
slug: "view-components"
abstract: "SitecoreのASP.NETレンダリング、SDKビューコンポーネント、設定、コンテンツアクセス機能について学びましょう。"
---
# コンポーネントを見る

> !重要以前にアプリを統合していた場合、それは旧版のASP.NETコアレンダリングSDK(バージョン22以前)を使用しています。このSDKは更新を受け取っていないため、[最新のバージョンへのアップグレード](https://doc.sitecore.com/xmc/en/developers/asp-net/latest/asp-net-core-sdk/upgrade-from-v22.html) をお勧めします。

ASP.NETでは、ビューコンポーネントは部分ビューに似ていますが、より強力です。詳細は[Microsoftのビューコンポーネントに関するドキュメント](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-components?view=aspnetcore-3.1) を参照してください。

ビューコンポーネントは、ナビゲーションメニュー、ログインパネル、検索バーなど、部分的なビューでは複雑なレンダリングロジックを扱うために設計されています。通常、ビューコンポーネントはASP.NETモデルバインディングを使用せず、必要に応じてデータにアクセスします。しかし、ASP.NETレンダリングSDKは、モデルをレイアウトサービスの出力にバインドできるようにするサービスおよび基本コンポーネントを提供しています。

ビューコンポーネントは3つのファイルで構成されています:

-   ビューコンポーネントクラス
-   Razorの視点
-   ビューモデルクラス

## ビューコンポーネントの設定

ビューコンポーネントでモデルをバインドするには、Sitecore.AspNet.RenderingEngine.Mvc, BindingViewComponentから継承してBindViewを呼び出すか、Sitecore.AspNet.RenderingEngine.Binding.IViewModelBinderサービスを注入してオーバーロードBindを呼び出すことができます。

また、レイアウトサービスの応答をビューコンポーネントに[AddViewComponent() 拡張メソッド](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/asp-net-core-rendering-engine.html "ASP.NET Core Rendering Engine")でマッピングする必要があります。

以下の例では、AddViewComponent("Styleguide-Layout", "StyleguideLayout") Styleguide-Layout応答成分をStyleguideLayoutViewComponentビュー成分に写しAddViewComponent(name => name.StartsWith("sc"), "OtherViewComponent")、すべての応答成分を接頭辞で付けられたすべての応答成分をOtherViewComponent表示成分にscで付像します。

public void ConfigureServices(IServiceCollection services)
{
 var renderingEngineBuilder = services.AddSitecoreRenderingEngine(options =>
 options
 .AddViewComponent("Styleguide-Layout", "StyleguideLayout")
 .AddViewComponent(name => name.StartsWith("sc"), "Other")
 );
}