我有两个中继器,一个嵌套在另一个中。内部中继器基本上包含并显示一个文本框网格,以允许用户输入信息集。
如果嵌套子项有 0 个项目,则没有问题。否则,将始终以 4 为增量,成对的文本框。如果有 4 对,我们想在 1 行上显示所有 4 对,如果有 8 对,我们需要在前 4 对和后 4 对之间换行,以此类推 12 .....
我正在尝试使用纯 CSS,基于区域的大小和框的大小,迫使它把它放在一个新的行上,但是有没有更简洁的方法来使用中继器呢?我注意到在一些浏览器和操作系统上我遇到了尴尬的包装。
<ItemTemplate>
<tr>
<td> </td>
<td>
<asp:Label runat="server" ID="lbDayOfWeek" Text='<%# DataBinder.Eval(Container.DataItem, "DayOfWeek") %>'/>
</td>
<td>
<asp:Label runat="server" ID="lbDate" Text='<%# Format(DataBinder.Eval(Container.DataItem, "DateOfDay"), "MM/dd/yyyy") %>'/>
</td>
<td class="punches">
<asp:Repeater runat="server" ID="Punches" DataSource='<%# DataBinder.Eval(Container.DataItem, "PunchPairs") %>'>
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox runat='server' ID='Tb1' Text='<%# if(eval("InDefault")= false,DataBinder.Eval(Container.DataItem, "InTime"),"") %>' />
<asp:TextBox runat='server' ID='Tb2' Text='<%# if(eval("OutDefault")= false,DataBinder.Eval(Container.DataItem, "OutTime"),"") %>' />
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
</td>
<td class="Totals">
<asp:TextBox ID="txtHours" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "TotalHrs") %>' ReadOnly='true'/>
</td>
<td> </td>
</tr>