Я пытаюсь расширить элемент управления ASP GridView, добавив несколько кнопок над ним. Например, «Вставить / Удалить / Распечатать» и т. Д. Я должен расширить элемент управления GridView, поскольку он используется во многих местах проекта. Кнопки и элемент управления должны быть обернуты в панель обновления, чтобы можно было выполнить частичное обновление. Я пытаюсь сделать что-то вроде этого:
UpdatePanel up = new UpdatePanel();
ImageButton newButton = new ImageButton();
newButton.ImageUrl = "../Images/new.gif";
up.ContentTemplateContainer.Controls.Add(newButton);
up.ContentTemplateContainer.Controls.Add(this);
Page.Form.Controls.Add(up);
Проблема в том, что я не знаю, где это поставить, и даже не знаю, сработает ли это. Если я помещу это в OnLoad / OnPreRender, я получу это:
"Невозможно изменить коллекцию элементов управления на этапах DataBind, Init, Load, PreRender или Unload."
Эта ошибка возникает при втором добавлении.
Если я положу его в CreateChildControls, страница еще не создана.
Пожалуйста, дайте мне несколько советов.