Не удалось найти usercontrol в edittemplate списка данных
У меня есть webusercontrol в шаблоне редактирования данных. в коде позади, в itemCommand, когда я пытаюсь найти его с помощью findcontrol, я получаю нулевой объект.
что я делаю не так?
WebUserControl cntrl = (WebUserControl)e.Item.FindControl("myControl");
или я также попробовал следующее, в событии EditCommand, потому что я держал пользовательский контроль внутри EditTemplate DataList:
WebUserControl cntrl = (WebUserControl)DataList1.FindControl("myControl");
2 ответа
На самом деле не обращайте внимания, я переместил элемент управления на шаблон заголовка и, глядя на его коллекцию элементов управления, смог найти элемент управления с помощью FindControl. Не уверен, почему его не найти, если я помещу его в шаблон редактирования. но спасибо, ребята, ценю вашу помощь.
Я думаю, что вы, вероятно, делаете что-то вроде этого:
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");
}
}