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盡心綁定,這是嵌套的核心。 但是目前這個思路遇到個問題就是無法異步更新回覆的內容。








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章