我正在使用Sharepoint WebPart加载一个UserControl,它有一个按钮,可以在PostBack上进行一些处理。我遇到了一个问题:当我第一次点击按钮时,数据加载了! IsPosback会丢失,但是当我再次单击该按钮时不会发生这种情况。我认为我的问题在这里解释了:Sharepoint Lifecycle,但我找不到解决方法。
任何帮助都会非常感激。
其他信息: 我在WebPart的OnLoad事件上使用EnsureChildControls,并在CreateChildControls上加载UserControl。
答案 0 :(得分:2)
我能够通过以编程方式为用户控件指定ID来解决此问题。
E.g:
protected void Page_Load(object sender, EventArgs e)
{
this.ID = "MyUserControlID";
}
答案 1 :(得分:0)
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (ViewState["MyStuff"] == null)
LoadMyStuffAndSaveToViewState();
else
DoSomethingWith(ViewState["MyStuff"]);
}