我在datalist的edittemplate中有一个webusercontrol。在后面的代码中,在itemCommand中,当我尝试使用findcontrol找到它时,我得到null对象。
我做错了什么?
WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl");
或者我也在EditCommand事件中尝试过以下操作,因为我将usercontrol保留在DataList的EditTemplate中:
WebUserControl cntrl = (WebUserControl)DataList1.FindControl("myControl");
答案 0 :(得分: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");
}
}
答案 1 :(得分:0)
实际上没关系,我将控件移动到headertemplate并查看其控件集合,我能够使用FindControl找到控件。不知道为什么我没有找到我是否将它放在edititemtemplate中。但谢谢你们,感谢你们的帮助。