5

最初の項目については、次を使用したい<div>:

<div class="six columns">
  <a href="">
    <img src="" />
      <h3>Israeli Embassy Promotes Peace</h3>
      <h4>At a time when Israel is facing threats of...</h4>
  </a>
</div>

そして、これは残りのために私は以下を使いたいです<div>:

<div class="six columns">
    <ul>
         <li><a href="">
             <h3>This is the first alskdjlak s</h3>
             </a></li>
         <li><a href="">
             <h3>asd sad asd asd asdasdasdas d</h3>
             </a></li>
         <li><a href="">
             <h3>dsad asd asd asd asd asd asd</h3>
             </a></li>
    </ul>
</div>

どうすればいいのですか?

4

4 に答える 4

2

最初に、コードビハインドで1から始まる整数を使用します。次に、リピーターでこの値を確認すると、次のようになります。

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <% if (iCounter == 1) { %>
            <br />First line id: <%# GetID(Container.DataItem) %>
        <% } else { %>
            <br />Next lines id: <%# GetID(Container.DataItem) %>
        <% }
            iCounter++;
        %>
    </ItemTemplate>
</asp:Repeater>

およびコードビハインド:

public int iCounter = 1;

List<int> oMainIds = new List<int>();

protected void Page_Load(object sender, EventArgs e)
{
    for (int i = 0; i < 10; i++)
    {
        oMainIds.Add(i);
    }

    Repeater1.DataSource = oMainIds;
    Repeater1.DataBind();
}

public int GetID(object oItem)
{
    return (int)oItem;
}

テストのために、ここに10本のデータラインを配置することに注意してください。この例では、次のようにレンダリングします。

First line id: 0 
Next lines id: 1 
Next lines id: 2 
Next lines id: 3 
Next lines id: 4 
Next lines id: 5 
Next lines id: 6 
Next lines id: 7 
Next lines id: 8 
Next lines id: 9
于 2012-12-27T20:03:28.407 に答える
2

IDを取得するコードビハインドメソッドなしで、Aristosの回答を更新するだけです。

<asp:Repeater ID="Repeater1" runat="server">
  <ItemTemplate>
   <asp:Panel ID="pnlFirst" runat="server" Visible="<%# (Repeater1.DataSource as List<int>).IndexOf((int)Container.DataItem) ==0 %>">
     <br />First Item
   </asp:Panel>
   <asp:Panel ID="pnlRest" runat="server" Visible="<%# (Repeater1.DataSource as List<int>).IndexOf((int)Container.DataItem) !=0 %>">
     <br />
     Item:  <%# (Repeater1.DataSource as List<int>).IndexOf((int)Container.DataItem) %>
   </asp:Panel>
 </ItemTemplate>
</asp:Repeater>

そしてコードビハインドで

List<int> oMainIds = new List<int>();

protected void Page_Load(object sender, EventArgs e)
{
   for (int i = 0; i < 10; i++)
   {
     oMainIds.Add(i);
   }

   Repeater1.DataSource = oMainIds;
   Repeater1.DataBind();
}
于 2014-04-18T14:23:00.020 に答える
0

PlaceHolder コントロールで div をラップし、e.Item.ItemIndex を使用してリピーターの OnItemCreated イベントで PlaceHolders の可視性を設定し、現在のアイテムが最初のアイテムかどうかを判断します。

または、サーバー側の div (runat=server を使用) を作成し、div の可視性を sme の方法で直接設定します。

于 2012-12-27T19:59:02.847 に答える
0

CSS を使用します。

.six_columns ul li
{
    /* Item style */
}

.six_columns ul li:first-child 
{
    /* First item style */
}

CSS を介してコンテンツを編集する方法もあります。

于 2012-12-27T20:34:52.653 に答える