日期:2014-05-17  浏览次数:20706 次

为实现前台的嵌套的foreach功能,后台CS如何写。
网站前台的HTML是
 foreach (System.Data.DataRow Guestbook in GuestbookList.Rows) 
{
  foreach (System.Data.DataRow backGuestbook in backGuestbookList.Rows)
  {  

  }
}
后台CS文件的代码:目前就写了这些
  string guestbookstr= string.Format("select * from A where id={0} and topid=0", id);
  GuestbookList = SQLHelper.ExecuteDataSet(SQLHelper.ConnectionStringLocalTransaction, CommandType.Text, guestbookStr).Tables[0];  
  string backguestbookstr= string.Format("select * from A where id={0} and topid={1}",id ,level);
  BackGuestbookList = SQLHelper.ExecuteDataSet(SQLHelper.ConnectionStringLocalTransaction, CommandType.Text, backguestbookstr).Tables[0];

其中level 是A中的一个字段,是个变量。
当进行一个foreach的guestbooklist时,嵌套的第二个foreach的backGuestbookList将会根据第一个guestbooklist中rows[0]中的level的内容获取tables。
当进行一个foreach的guestbooklist时,嵌套的第二个foreach的backGuestbookList将会根据第一个guestbooklist中rows[1]中的level的内容获取tables。
以此类推
求指教。。





------解决方案--------------------
临时随便写了下 仅供参考
HTML code

<asp:Repeater ID="Repeater1" runat="server" 
            onitemdatabound="Repeater1_ItemDataBound">
            <ItemTemplate>
                <%# Eval("MsgID") %>留言:
                <%# Eval("Message") %>
                <ul>
                        <asp:Repeater ID="rptMsg" runat="server">
                            <ItemTemplate>
                                
                                    <li>
                                        <%# Eval("levelID")%>
                                    |<%# Eval("LevelMsg")%></li>
                                
                            </ItemTemplate>
                        </asp:Repeater>
                        
                  
                    <li>
                        我要留言<asp:TextBox ID="TextBox1" runat="server" Text="留言"></asp:TextBox>
                        <asp:Button ID="Button1" runat="server" Text="保存" />
                    </li>
                  </ul>
            </ItemTemplate>
        </asp:Repeater>