前臺代碼
<asp:DataList ID="DataList1" runat="server"
onitemdatabound="DataList1_ItemDataBound">
<ItemTemplate>
<asp:Label runat="server" ID="L" Text='<%#DataBinder.Eval(Container.DataItem,"kechengID") %>'></asp:Label>
<%#DataBinder.Eval(Container.DataItem,"kcBiaoti") %>
<br />
<asp:DataList runat="server" ID="DataList2">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"wkBiaoti") %>
<br />
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
後臺代碼
protected void Page_Load(object sender, EventArgs e)
{
string sqlSel = "select * from Lcts ";
DataList1.DataSource = operateData.getRows(sqlSel);
DataList1.DataBind();
}
protected void DataList1_DataBinding(object sender, DataListItemEventArgs e)
{
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataList dl = (DataList)e.Item.FindControl("DataList2");
Label l = (Label)e.Item.FindControl("L");
//SQL sql = new SQL("select * from tblsorts where parentid=" + l.Text);
string sqlSel = "select * from kechengXIAweikes where kechengID= " + l.Text;
//SqlDataAdapter sda = .GetSqlDataAdapter();
//DataSet ds = new DataSet();
//sda.Fill(ds, "table");
dl.DataSource = operateData.getRows(sqlSel); ;
dl.DataBind();
}
注意點:父datalist和子datalist讀取的數據表的來源可以不同。
其他datalist嵌套代碼也有很多,這是我應用最快的。學這個首先是搞懂它的原理,其次纔是實現。
二層的和三層的代碼網上也有,請自行百度和csdn吧。
評論的注意事項:
四個步驟,1.點擊按鈕評論 2. 顯示評論 3. 回覆評論 4.顯示評論的回覆。
第三步,需要注意,需要先顯示評論區,其次評論完以後可以隱藏
第四步,可以用DataList1_ItemDataBound盡心綁定,這是嵌套的核心。 但是目前這個思路遇到個問題就是無法異步更新回覆的內容。