Здравствуйте, Oganes, Вы писали:
O>В ответ на этот постингАвтор:
Дата: 07.11.02
O>На самом деле viewstate для UserControl-ов сохраняется, и все обработчики вызываются при соблюдении двух простых правил:
O>1) При postback нужно перезагружать control в методе OnInit(), чтобы UserControl был загружен до того, как загружается ViewState (например, сохраняем в hidden field путь к контролу, а затем в OnInit смотрим на
O>Request.Params["CurrentControlPath"])
O>2) Кроме того, нужно, чтобы всегда control.ID при PostBack был тот же, что и при загрузке. Для этого можно либо
O> а)выставлять его при первой загрузке control-а и при перезагрузке страницы, либо
O> б) сохранять его еще в одном hidden field
O>2 TK Можно требовать от ASP.NET того же, что и от Windows Forms. Я для своей конторы спроектировал что-то вроде системы Wizard-ов для ASP.NET, в которой каждая aspx страница по сути является контроллером use case, а UserControl является отдельной страничкой Wizard-а. Для всех сохраняется состояние, вызываются обработчики и т.п. Теперь дизайнерам этих контролов нужно только писать что-то вроде
O>O>OnButtonClick(..)
O>{
O>BusinessFacade.DoThis();
O>_container.MoveNext();
O>}
O>
O>и дизайном заниматься
Если интересно, могу код выложить куда-нибудь.
Очень интересно можешь отослать на daz@list.ru