用户控制WebPart,PostBack / ViewState问题

时间:2010-07-16 20:44:34

标签: asp.net sharepoint user-controls sharepoint-2007 web-parts

我正在使用Sharepoint WebPart加载一个UserControl,它有一个按钮,可以在PostBack上进行一些处理。我遇到了一个问题:当我第一次点击按钮时,数据加载了! IsPosback会丢失,但是当我再次单击该按钮时不会发生这种情况。我认为我的问题在这里解释了:Sharepoint Lifecycle,但我找不到解决方法。

任何帮助都会非常感激。

其他信息: 我在WebPart的OnLoad事件上使用EnsureChildControls,并在CreateChildControls上加载UserControl。

2 个答案:

答案 0 :(得分:2)

我能够通过以编程方式为用户控件指定ID来解决此问题。

E.g:

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

答案 1 :(得分:0)

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

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