C# 表格显示问题

C# 表格显示问题,c#,asp.net,html,css,C#,Asp.net,Html,Css,我有一个表,里面有两个嵌套的表,显示我的两个中继器。我的中继器分别显示家庭和办公室地址。问题是,每当我在一个中继器中添加新记录时,另一个中继器表的显示就会混乱。就像我在rpt1中添加一条记录一样,rpt1的表向上移动,rpt2的表向下移动..即页眉不显示在一行中。在添加或删除记录时,它们会上下移动。我想要的是这些标题是固定的,所以如果我添加新记录或删除记录,两个中继器的标题显示在同一行上…我该如何解决这个问题?希望它不会让人困惑 <table width="100%" cellpaddin

我有一个表,里面有两个嵌套的表,显示我的两个中继器。我的中继器分别显示家庭和办公室地址。问题是,每当我在一个中继器中添加新记录时,另一个中继器表的显示就会混乱。就像我在rpt1中添加一条记录一样,rpt1的表向上移动,rpt2的表向下移动..即页眉不显示在一行中。在添加或删除记录时,它们会上下移动。我想要的是这些标题是固定的,所以如果我添加新记录或删除记录,两个中继器的标题显示在同一行上…我该如何解决这个问题?希望它不会让人困惑

<table width="100%" cellpadding="0" cellspacing="0">
         <tr>
            <td width="50%">
              <asp:Panel ID="pnlAddAddress" runat="server">
                <asp:Repeater ID="rpt1" OnItemCommand="rpt1_ItemCommand" runat="server" OnItemDataBound="rpt1_OnItemDataBound">

                 <HeaderTemplate>                              
                   <table width="99%" border="0" cellpadding="0" cellspacing="0">
                     <tr>
                 <td colspan="5" class="linegrey">
                       </td>
                     </tr>
                     <tr class="lgrey">
                       <td>
                           Address1
                      </td>

                       <td>
                           City
                       </td>
                        <td>
                          State
                       </td>

                       <td>
                         IsDefault
                       </td>
                       <td>
                         Actions
                      </td>
                   </tr>
                   <tr>
                     <td colspan="5" class="dots">
                   </tr>
             </HeaderTemplate>
             <ItemTemplate>
                  <tr>
                    <td>

                      <asp:LinkButton ID="lnkAddressB" runat="server" Text='<%# Eval("Address1")%>' CommandName="DisplayAddressB" CommandArgument='<%#Eval("AddID") %>' CausesValidation=false></asp:LinkButton>

                    </td>

                     <td>
                       <%# Eval("City")%>

                    </td>
                    <td>
                       <%# Eval("State")%>
                    </td>

                    <td>

                     <%-- Visible='<%# Eval("IsDefault")%>'--%>

                      <asp:LinkButton ID="lnkDefaultB" Text="Set as Default" CommandName="SetDefaultB" runat="server" CommandArgument='<%# Eval("AddID") + "," + Eval("IsB") %>'
                      CausesValidation="false" Visible='<%# Eval("IsDefault")%>'></asp:LinkButton>
                      <asp:Label ID="labelDefaultB" Text="Yes" runat="server" Visible='<%# Eval("IsDefault")%>'></asp:Label>

                    </td>
                    <td>
                     <asp:ImageButton ID="lnkAdd" CommandArgument='<%#Eval("AddID") %>'
                      CausesValidation="false" CommandName="Edit" runat="server" ImageUrl="~/images/Edit.gif" Width="14" Height="14" ToolTip="Edit"></asp:ImageButton>
                      &nbsp;  
                      <asp:ImageButton ID="lnkDel" Text="Delete" CommandArgument='<%#Eval("AddID") %>'
                      CausesValidation="false" CommandName="Delete" runat="server" ImageUrl="~/images/Delete.gif" Width="14" Height="14" ToolTip="Delete"></asp:ImageButton>
                    </td>
                  </tr>
                </ItemTemplate>
                <FooterTemplate>
                </table>
                </FooterTemplate>
              </asp:Repeater>
            </asp:Panel>
           </td>
           <td>
             <asp:Panel ID="pnlSping" runat="server">
                <asp:Repeater ID="rpt12" OnItemCommand="rpt12_ItemCommand" runat="server" OnItemDataBound="rptSpping_OnItemDataBound">
                     <HeaderTemplate>
                         <table width="100%" border="0" cellpadding="0" cellspacing="0">
                             <tr>
                               <td colspan="5" class="linegrey">
                               </td>
                              </tr>
                              <tr class="lgrey">
                                 <td>
                                   Address1
                                 </td>
                                 <td>
                                   City
                                  </td>
                                  <td>
                                   State
                                   </td>
                                   <td>
                                    IsDefault
                                    </td>
                                    <td>
                                     Actions
                                     </td>
                                 </tr>
                                 <tr>
                                   <td colspan="5" class="dots">
                                  </tr>
                         </HeaderTemplate>
                         <ItemTemplate>
                                  <tr>
                                    <td>
                                       <asp:LinkButton ID="lnkAddressS" runat="server" Text='<%# Eval("Address1")%>' CommandArgument='<%#Eval("AddID") %>' CommandName="DisplayAddressS" CausesValidation="false"></asp:LinkButton>
                                     </td>

                                     <td>
                                     <%# Eval("City")%>
                                     </td>
                                     <td>
                                      <%# Eval("State")%>
                                      </td>
                                      <td>
                                        <asp:LinkButton ID="lnkDefaultS" Text="Set as Default" CommandName="SetDefaultS" runat="server" Visible=true CommandArgument='<%# Eval("AddID") + "," + Eval("IsS") %>'
                                        CausesValidation="false"></asp:LinkButton>
                                        <asp:Label ID="labelDefaultS" Text="Yes" runat="server" Visible=true></asp:Label>
                                       </td>
                                       <td>
                                        <asp:ImageButton ID="lnkAdd" Text="Edit" CommandArgument='<%#Eval("AddID") %>'
                                        CausesValidation="false" CommandName="Edit" runat="server" ImageUrl="~/images/Edit.gif" Width="14" Height="14" ToolTip="Edit"></asp:ImageButton>
                                        &nbsp; 
                                        <asp:ImageButton ID="lnkDel" Text="Delete" CommandArgument='<%#Eval("AddID") %>'
                                         CausesValidation="false" CommandName="Delete" runat="server" ImageUrl="~/images/Delete.gif" Width="14" Height="14" ToolTip="Delete"></asp:ImageButton>
                                        </td>
                                       </tr>
                             </ItemTemplate>
                              <FooterTemplate>
                                 </table>
                              </FooterTemplate>
                          </asp:Repeater>
                      </asp:Panel>
                  </td>
                 </tr>
          </table>

地址1
城市
陈述
IsDefault
行动
地址1
城市
陈述
IsDefault
行动

使用css属性valign并将其值设置为top,如下所示


......
......

对于要使用元素的标题,这将使它们保持在表的顶部

将您的
标记放在中继器控件之外,确保中继器只呈现一行,并且对标题呈现相同的行


除非你有很好的理由考虑只将两个表封装在<代码> <代码>标签中,因为嵌套表实际上不适合布局。

是否需要为所有的TDS设置这个ValGy属性?嘿,它固定了…谢谢!Dnice认为这很有效,但我同意Dave的观点,与其重复整张桌子,不如重复一行。
<table width="100%" cellpadding="0" cellspacing="0">
            <tr>
                <td width="50%" valign="top">
                    <asp:Panel ID="pnlAddAddress" runat="server">
                        ......
                    </asp:Panel>
                </td>
                <td valign="top">
                    <asp:Panel ID="pnlSping" runat="server">
                        ......
                    </asp:Panel>
                </td>
            </tr>
        </table>