2017-01-16 70 views
-1

有2 DataList控件DataList2DataList3
DataList2DataList3ButtonlblOrderID
DataList3lblQuantity
Click上的lblQuantityButton價值應該分配給qty
當我調試這段代碼時,它顯示qty爲空?
錯誤:未將對象引用設置爲對象的實例。
如何訪問內部DataList的標籤是在另一個內部的DataList

protected void bremove_Click(object sender, EventArgs e) 
{ 
    Button remove = (Button)sender; 
    DataListItem row = remove.NamingContainer as DataListItem; 
    DataList dat = (DataList)row.FindControl("DataList3"); 
    Label qty = (Label)dat.FindControl("lblQuantity"); 
    Label id = (Label)row.FindControl("lblOrderID"); 
    string oid = id.Text; 
    string oqty = qty.Text; 
    sqlqueries.UpdateOrder(oid, oqty); 
    int k = sqlqueries.CancelOrder(oid); 
    if (k != 0) 
    { 
     Response.Redirect(Request.RawUrl); 
    } 
} 

回答

0

的問題是在這條線:

Label qty = (Label)dat.FindControl("lblQuantity"); 

雖然你使用一個單獨的DataListItem找到嵌套DataList控件(與NamingContainer),你再繼續找DataList3一個標籤本身,而不是項目 DataList3。

應該

Label qty = (Label)dat.Items[row.ItemIndex].FindControl("lblQuantity"); 
相關問題