2011-07-05 65 views
0

我在datalist的edittemplate中有一個webusercontrol。在後面的代碼中,在itemCommand中,當我嘗試使用findcontrol找到它時,我得到空對象。無法在datalist的edittemplate中找到usercontrol

這是什麼,我做錯了?

WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl"); 

或者我也嘗試下,在EditCommand事件,因爲我一直在DataList的EditTemplate內的用戶控件:

WebUserControl cntrl = (WebUserControl)DataList1.FindControl("myControl"); 
+0

你的代碼示例似乎有效,但真的不能提供一個明確的答案,沒有更多的信息。 – developerdoug

+2

我們需要一些標記來告訴... –

回答

0

我想你可能做這樣的事情:

protected void gridView_rowDataBound(Object sender, GridViewRowEventArgs e) 
    { 
     WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl"); 
    } 

請記住,您將查看每一行 - 包括頁眉和頁腳行。

我認爲你需要這樣的:

protected void gridView_rowDataBound(Object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow){ 
      WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl"); 
     } 
    } 
+0

我不是在尋找gridview。 – user830113

0

其實沒關係,我搬到控制的HeaderTemplate中並查看其控件集合,我能夠找到使用的FindControl控制。不知道爲什麼它找不到,如果我把它放在edititemtemplate。但謝謝你們的幫助。