Пользовательский контроль над WebPart, проблема PostBack / ViewState - PullRequest
1 голос
/ 17 июля 2010

Я использую Sharepoint WebPart для загрузки UserControl, который имеет кнопку, которая выполняет некоторую обработку в PostBack. У меня возникла проблема: когда я нажимаю кнопку в первый раз, данные загружаются! IsPosback теряется, но этого не происходит, когда я снова нажимаю кнопку. Я думаю, что моя проблема объясняется здесь: Sharepoint Lifecycle , но я не смог найти обходной путь.

Любая помощь будет очень признательна.

Дополнительная информация: Я использую EnsureChildControls в событии OnLoad WebPart и загружаю UserControl в CreateChildControls.

Ответы [ 2 ]

2 голосов
/ 22 июля 2010

Мне удалось это исправить, программно указав идентификатор для пользовательского элемента управления.

например:.

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

0 голосов
/ 19 июля 2010
protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    if (ViewState["MyStuff"] == null)
        LoadMyStuffAndSaveToViewState();
    else
        DoSomethingWith(ViewState["MyStuff"]);
}
...