не удалось найти пользовательский контроль в шаблоне таблицы данных - PullRequest
0 голосов
/ 05 июля 2011

У меня есть webusercontrol в шаблоне редактирования списка данных. в коде, в itemCommand, когда я пытаюсь найти его с помощью findcontrol, я получаю нулевой объект.

что я делаю не так?

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

или я также попробовал следующее в событии EditCommand, потому что я сохранил usercontrol внутри EditTemplate DataList:

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

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

На самом деле не обращайте внимания, я переместил элемент управления на шаблон заголовка и, глядя на его коллекцию элементов управления, смог найти элемент управления с помощью FindControl.Не уверен, почему его не найти, если я помещу его в шаблон редактирования.но спасибо, ребята, ценю вашу помощь.

0 голосов
/ 06 июля 2011

Я думаю, что вы, вероятно, делаете что-то вроде этого:

    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");
       }
    }
...