datalist嵌套及其一个注意点。

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








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值