Я использую Sharepoint WebPart для загрузки UserControl, который имеет кнопку, которая делает некоторую обработку на PostBack. Я получил проблему: когда я нажимаю кнопку впервые, данные, загруженные на! IsPosback теряется, но это не происходит, когда я нажимаю кнопку снова. Я думаю, что моя проблема объяснена здесь: Жизненный цикл Sharepoint, но я не смог найти обходное решение.
Любая справка действительно ценилась бы.
Дополнительная Информация: я использую EnsureChildControls на событии WebPart's OnLoad и загружаю UserControl на CreateChildControls.
Мне удалось исправить это, программно указав идентификатор для пользовательского элемента управления.
Например:
protected void Page_Load(object sender, EventArgs e)
{
this.ID = "MyUserControlID";
}
Подробнее здесь: http://bytes.com/topic/asp-net/answers/314816-dynamically-loaded-control-event-only-reached-2nd-postback
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (ViewState["MyStuff"] == null)
LoadMyStuffAndSaveToViewState();
else
DoSomethingWith(ViewState["MyStuff"]);
}