から取られ
Sitecore.Data.Fields.LinkField linkField = carouselItem.Fields["Link"];
var pageUrl = linkField.LinkUrl();
私はあなたがコントローラのアクションに適切なモデルオブジェクトを用意し、それを渡す必要があると思いますビューに。
Modelクラス:
public class CarouselModel
{
public List<Item> CarouselItems { get; set; }
}
コントローラーアクション:
public ActionResult Carousel()
{
var model = new CarouselModel
{
CarouselItems = /* get appropriate items dependent on your logic */
};
return View("~/Views/renderings/Carousel.cshtml", model);
}
カミソリビュー:
@model CarouselModel
<div>
@foreach(var carouselItem in Model.CarouselItems)
{
Sitecore.Data.Fields.LinkField targetLinkField = carouselItem.Fields["Target"];
<a href="@Sitecore.Links.LinkManager.GetItemUrl(targetLinkField.TargetItem)">Some link</a>
}
</div>
例は、上記の 'カルーセル項目' のテンプレートが含まれていることを前提とし 'ターゲット' リンクフィールド。