0

我在 c# 中做一个 asp.net web 应用程序。我需要对齐,如下所示: 在此处输入图像描述

我想使用中继器控件进行此对齐。我使用了以下内容:

aspx 页面:

 <table cellspacing="0" cellpadding="0" border="0" width="80%" align="center">
        <tr>
          <td>
          </td>
      <asp:Repeater ID="rptroutebind" runat="server">
        <ItemTemplate>
            <td>                                                                                   <asp:Label ID="lblRouteName" runat="server" Text='<%# Eval("ROUTENAME") %>' Width="100"></asp:Label>
           </td>
         </ItemTemplate>
      </asp:Repeater>
      </tr>
   <asp:Repeater ID="rptbindoutlet" runat="server">
     <ItemTemplate>
         <tr>
            <td>                                                                                <asp:Label ID="lblOutName" runat="server" Text='<%# Eval("RONAME") %>' Width="100"></asp:Label>
            </td>
                </tr>
         <tr>
        <td style="height: 10px">
        </td>
        </tr>
     </ItemTemplate>
    </asp:Repeater>
  </table>

然后我得到以下不带复选框的对齐方式。谁能告诉如何放置这些复选框

编辑: 我试过这个

cs页面:

protected void rptbindoutlet_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            CheckBox chk;
            foreach (RepeaterItem item in rptbindoutlet.Items)
            {
                for (int i = 1; i <= chkno; i++)
                {
                    chk = new CheckBox();
                    chk.ID = "check" + i;
                    rptbindoutlet.Controls.Add(chk);
                }
            }
        }

我得到了复选框,但没有正确对齐。我是这样的: 在此处输入图像描述

编辑 1:

 protected void rptbindoutlet_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            CheckBox chk;
            foreach (RepeaterItem item in rptbindoutlet.Items)
            {
                TableRow tr = new TableRow();
                for (int i = 1; i <= chkno; i++)
                {
                    TableCell tc = new TableCell();
                    chk = new CheckBox();
                    chk.ID = "check" + i;
                    tc.Controls.Add(chk); 
                }
                rptbindoutlet.Controls.Add(tr);
            }
        }

这给了

在此处输入图像描述

4

1 回答 1

1

根据您的代码,您ItemTemplate使用 c# 代码而不是表结构添加了一个新的。您正在使用父级中的表,并且在ItemDataBound事件中您只是通过新的ItemTemplate. 所以我建议你生成一个 TableRow 和 TableCell 并在这个 TableCell 中根据你的父表结构在运行时添加新的 CheckBox ....

于 2012-05-08T09:48:46.407 回答