前台代码
<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尽心绑定,这是嵌套的核心。 但是目前这个思路遇到个问题就是无法异步更新回复的内容。