I am trying to create a carousel in Sitecore 8.2. I have created a carousel item with the Image and Text fields and these carousel items are mapped to Multilist.
I am getting a null reference error while rendering the multilist
items in Visual Studio.
My View code:
<div id="home-carousel" class="jcarousel-wrapper">
<a href="#" class="jcarousel-control-prev">‹</a>
<a href="#" class="jcarousel-control-next">›</a>
<div class="jcarousel carousel-stage">
<asp:Repeater ID="rptCarousel" ItemType="Sitecore.Data.Items.Item" runat="server">
<HeaderTemplate>
<ul class="carousel">
</HeaderTemplate>
<ItemTemplate>
<li>
<sc:Image Field="Carousel Image" Item="<%# Container.DataItem %>" runat="server" />
<sc:Text Field="Carousel Text" Item="<%# Container.DataItem %>" runat="server" />
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
</div>
My back-end code:
public partial class carousel : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
var sublayout = Parent as Sublayout;
var datasource = sublayout.DataSource;
Item Carousel = Sitecore.Context.Database.GetItem(datasource);
Item[] item = Carousel.Children.ToArray();
rptCarousel.DataSource = item;
rptCarousel.DataBind();
}
}
Sitecore.Data.Fields.MultilistField multilistField = Sitecore.Context.Item.Fields["Select Item"];
if (multilistField != null && multilistField.TargetIDs.Any())
{
foreach (ID id in multilistField.TargetIDs)
{
Item targetItem = Sitecore.Context.Database.Items[id];
Item[] item = targetItem.Children.ToArray();
rptCarousel.DataSource = item;
rptCarousel.DataBind();
}
}