Asp.net 具有Sitecore的ASP中继器中结果中的项目数
我正在使用SitecoreAsp.net 具有Sitecore的ASP中继器中结果中的项目数,asp.net,sitecore,repeater,Asp.net,Sitecore,Repeater,我正在使用Sitecoreascx文件,得到如下内容: <asp:Repeater ID="NavRepeater" runat="server"> <ItemTemplate> <div class="item"> <img src="<%# ((Sitecore.Data.Items.Item)Container.DataItem).Fields["I
ascx
文件,得到如下内容:
<asp:Repeater ID="NavRepeater" runat="server">
<ItemTemplate>
<div class="item">
<img src="<%# ((Sitecore.Data.Items.Item)Container.DataItem).Fields["Image Url"] %>" width="360" height="420" alt="">
</div>
</ItemTemplate>
<SeparatorTemplate></SeparatorTemplate>
</asp:Repeater>
“width=“360”height=“420”alt=”“>
无法计算如何从Sitecore.Data.Items.Item
获取元素总数
我还想知道如何检索集合中的给定项,如第2项?您可以从中继器绑定到的枚举中获取这些项。您可以从中继器绑定到的枚举中获取这些项。您可以有如下内容:
<asp:Repeater ID="NavRepeater" runat="server" OnItemDataBound="rptGallery_ItemDataBound">
<ItemTemplate>
<div class="item">
<sc:fieldrenderer id="fldGalleryItemImageThumbnail" runat="server" fieldname="ImageUrl" disablewebediting="true" />
</div>
</ItemTemplate>
<SeparatorTemplate></SeparatorTemplate>
</asp:Repeater>
在rptGallery_ItemDataBound事件中,您将拥有:
protected void Page_Load(object sender, EventArgs e)
{
rptGallery.DataSource = listofitemyyouwanttoshow;
rptGallery.DataBind();
}
protected void rptGallery_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Item item = (Item)e.Item.DataItem;
//you can check index here of item
if (item != null)
{
var fldGalleryItemImageThumbnail = e.Item.FindControl("fldGalleryItemImageThumbnail") as FieldRenderer;
if (fldGalleryItemImageThumbnail != null)
{
fldGalleryItemImageThumbnail.DataSource = item.ID.ToString();
fldGalleryItemImageThumbnail.Parameters = String.Format("width={0}", 360);
}
}
}
}
}
I hope it helps you .
您可以选择以下内容:
<asp:Repeater ID="NavRepeater" runat="server" OnItemDataBound="rptGallery_ItemDataBound">
<ItemTemplate>
<div class="item">
<sc:fieldrenderer id="fldGalleryItemImageThumbnail" runat="server" fieldname="ImageUrl" disablewebediting="true" />
</div>
</ItemTemplate>
<SeparatorTemplate></SeparatorTemplate>
</asp:Repeater>
在rptGallery_ItemDataBound事件中,您将拥有:
protected void Page_Load(object sender, EventArgs e)
{
rptGallery.DataSource = listofitemyyouwanttoshow;
rptGallery.DataBind();
}
protected void rptGallery_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Item item = (Item)e.Item.DataItem;
//you can check index here of item
if (item != null)
{
var fldGalleryItemImageThumbnail = e.Item.FindControl("fldGalleryItemImageThumbnail") as FieldRenderer;
if (fldGalleryItemImageThumbnail != null)
{
fldGalleryItemImageThumbnail.DataSource = item.ID.ToString();
fldGalleryItemImageThumbnail.Parameters = String.Format("width={0}", 360);
}
}
}
}
}
I hope it helps you .
它位于中继器的数据源上,使用C#: 因此,如果您的C#是: 然后根据其类型,长度为
someData.length
或someData.Count()
要在某个位置获取特定项目,请执行以下操作:
Item second = someData[1]; // per 0-indexing
或基于类型,也可以是:
Item second = someData.ElementAt(1) // per 0-indexing
它位于中继器的数据源上,使用C#: 因此,如果您的C#是: 然后根据其类型,长度为
someData.length
或someData.Count()
要在某个位置获取特定项目,请执行以下操作:
Item second = someData[1]; // per 0-indexing
或基于类型,也可以是:
Item second = someData.ElementAt(1) // per 0-indexing
Sitecore.Data.Items.Item它只是一个类,无法获取项目编号2。您到底想做什么?Sitecore.Data.Items.Items它只是一个类,无法获取项目编号2。您到底想做什么?