Здравствуйте, aset, Вы писали:
A>Здравствуйте, ksg71, Вы писали:
K>>Здравствуйте, aset, Вы писали:
A>>>Здравствуйте, ksg71, Вы писали:
A>>>>>A>>>>>MyControl myControl = (MyControl)LoadControl("MyControl.ascx");
A>>>>>myControl.SetValues(nProp1, nProp2);
A>>>>>PlaceHolder1.Controls.Add(myControl);
A>>>>>
K>>>>А что за события в контроле?
A>>>Там DataGrid с TemplateColumn с RadioButton'ами, в нем на ItemCreated вешается обработчик этих радиобатонов. Вот этот обработчик после Prev и Next до постбэка не вызывается.
A>>>Еще есть ItemCommand, там тоже обработчик висит.
K>>Структура взаимодействия все равно не понятна, возможно проблема в том,
K>>что UserControl грузится в Page_Load а не в Page_Init, или еще в чем
K>>нибудь, на всякий случай почитай
A>Ну, вкратце можно сказать так — при вызове Page_Load'а контрол отображается, а при нажатии Next или Prev надо переотображать его снова. То есть, очищать плейсхолдер и делать Controls.Add(). Проблема в том, что при нажатии этих Next/Prev сначала вызывается Page_Load и успевает перехватить на себя события предыдущего состояния элемента.
Ну так, конечно, никакие события в контроле работать не будут, любой динамически добавляемый контрол нужно добавлять до загрузки ViewState
и PostBack данных, чтобы события в нем работали правильно.
Я ссылочку выше давал, там про это подробно с картинками
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx