<%# Repeater_SwitchPics.Items.Count % 2 == 1 ? "<td></td></tr> " : ""%>这是什么意思??有什么用呢??这是repeater控件里的。
<asp:Repeater ID="Repeater_SwitchPics" runat="server" DataSourceID="SqlDataSource_SwitchPics"
                            OnItemDataBound="Repeater_SwitchPics_ItemDataBound" OnItemCommand="Repeater_SwitchPics_ItemCommand">
                            <HeaderTemplate>
                                <table width="100%" cellpadding="0" cellspacing="20" border="0" style="border-collapse: separate;
                                    border-spacing: 8px">
                                    <tr>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <td align="center">
                                    <div>
                                        <asp:Image ID="Img_Product" ImageUrl='<%# "../HomePageSwitchPictures/" + Eval("SwitchPicName") %>'
                                            Width="216px" Height="171" runat="server" BorderStyle="Double" BorderWidth="3px"
                                            BorderColor="#D4D4D4" /></div>
                                    <div align="center" style="line-height: 25px">
                                        <asp:LinkButton ID="LBtn_Delete" CommandName="MyDelete" CommandArgument='<%# Eval("SwitchPicID") %>'
                                            runat="server">删除</asp:LinkButton>
                                    </div>
                                </td>
                            </ItemTemplate>
                            <FooterTemplate>
                                <%# Repeater_SwitchPics.Items.Count % 2 == 1 ? "<td></td></tr> " : ""%>
                                </table>
                                <asp:Label ID="Lb_SwitchPicEmpty" runat="server" Text="还没任何图片:-)"
                                    Visible='<%# bool.Parse((Repeater_SwitchPics.Items.Count == 0).ToString()) %>' />
                            </FooterTemplate>
                        </asp:Repeater>

解决方案 »

  1.   

    <%# Repeater_SwitchPics.Items.Count % 2 == 1 ? "<td></td></tr> " : ""%>
    ===========
    这是一个三元去处符
    意思是:当Repeater_SwitchPics.Items.Count % 2 == 1 时,此处前台代码中是<td></td></tr>
            当Repeater_SwitchPics.Items.Count % 2 != 1 时,此处前台代码中是空
      

  2.   

    repeater实现多列显示

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
      {
      if (i %2 == 0 && i > 0)
      {
      e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
      }
      i++;
      }
      

  3.   

    如果有两张图,前台代码中是空,那<FooterTemplate>只有,少了</tr>这样也可以的啊??
      

  4.   

    这个是怎么变化的??我还不是这么清楚,替换的是<FooterTemplate>
    里面的吗??弄了<td></td>不是相当于没用吗???原理是什么啊
      

  5.   

    怎么会没用呢?这里的意思是当你有两张图片里就换一行显示,否则的话当从数据库中读出的数据有几十条时就会一直显示成好多个<td>图片代码</td>单元格在同一个<tr></tr>里面,就把你的表格撑开了呀
      

  6.   

    本人比较愚笨。
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
      {
      if (i %2 == 0 && i > 0)
      {
      e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
      }
      i++;
      }
    这个能理解
    但是<%# Repeater_SwitchPics.Items.Count % 2 == 1 ? "<td></td></tr> " : ""%>理解不了。。