asp.net repeater绑定多列,自动补齐TD。修改调试完美版

本文详细解析了ASP.NET页面中的Repeater控件使用及.cs文件中相关事件处理逻辑,包括如何绑定数据、处理数据行类型、以及如何在表格中正确布局数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aspx页面 

<asp:Repeater ID="rptfwxm3" runat="server" OnItemDataBound="rptfwxm3_Bound">
                   <HeaderTemplate>
                    <table border="0" align="center" cellpadding="0" cellspacing="0">
                    <tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                   <td width="240" class="fwxm04"><span class="fwxm05">[月嫂护理] </span>
                    <a href='NewsDetails.aspx?id=<%#Common.UrlEncode(Eval("ID").ToString()) %>' class="news" target="_blank">
                    <%#Common.CutString(Eval("Subject").ToString(), 13, "..")%></a></td>
                    </ItemTemplate>
                    <FooterTemplate>
                    </tr>
                    </table>
                    </FooterTemplate>
                    </asp:Repeater>


aspx.cs文件

int qita = 1;//此处从1开始
    public void rptfwxm3_Bound(object src, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)//确定为绑定数据行
        {
            if (qita % 2 == 0)
            { //这里的2就代表表格有2列
                if (qita != 12)//此处共计绑定12条数据,如果是最后一行就不用添加换行了。
                {
                    e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
                }
            }
            qita++;
        }
        if (e.Item.ItemType == ListItemType.Footer && rptQTFW.Items.Count % 2 != 0)//绑定footer,并且不是2的整倍数。
        {
            LiteralControl li = e.Item.Controls[0] as LiteralControl;
            string oldHTML = li.Text;
            string newHTML = String.Empty;
            for (int c = rptQTFW.Items.Count % 2; c < 2; c++)
            {
                newHTML += " <td width=\"240\"> </td> ";//此处需要空格的转义符号,IE6、IE7需要。
            }
            li.Text = newHTML + oldHTML;
        }

 }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值