1

私はSitecoreascxファイルを扱っていて、次のようなものを手に入れました:

<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>         

から要素の総数を取得する方法がわかりませんSitecore.Data.Items.Item

コレクション内の特定のアイテムを取得する方法も疑問に思っていました-アイテム番号2のようなものですか?

4

3 に答える 3

1

C# のリピーターのデータ ソースにあります。

したがって、C# が次の場合:

NavRepeater.DataSource = someData;

次に、長さはsomeData.LengthまたはsomeData.Count()そのタイプに基づいています。

特定の場所で特定のアイテムを取得するには:

Item second = someData[1]; // per 0-indexing

またはタイプに基づいて、次のこともできます。

Item second = someData.ElementAt(1) // per 0-indexing
于 2013-11-07T18:26:38.403 に答える
0

リピーターをバインドしている列挙型からこれらを取得します。

于 2013-11-07T04:55:42.390 に答える
0

あなたは次のようなものを持つことができます:

<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>          

Page_Load では、次のようになります。

  protected void Page_Load(object sender, EventArgs e)
    {
          rptGallery.DataSource = listofitemyyouwanttoshow;
          rptGallery.DataBind();
    }

rptGallery_ItemDataBound イベントでは、次のようになります。

    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 . 
于 2013-11-07T05:00:49.080 に答える