3

我有一个仅在某些情况下加载的用户控件,例如,当用户单击页面上的按钮时,会发生以下情况:

MyControl ctl = (MyControl)LoadControl(controlPath);
this.MyFormControl.Add(ctl);

加载的用户控件有一个表单和一个提交按钮,还有一个我想在点击时运行的方法:

<asp:Button runat="server" ID="SaveButton" Text="Save" OnClick="btnSave_Click" />

在用户控件的代码隐藏中:

protected void btnSave_Click(object sender, EventArgs e)
{
    // Do something
}

单击按钮时,我似乎无法执行某些操作。我认为这可能与该控件通常未与页面一起加载这一事实有关,但我不确定该怎么做。

4

3 回答 3

4

这是在您的页面指令中吗?:

<%@ Page Language="C#" AutoEventWireup="true"

编辑

它是动态创建/加载的吗?每个请求都需要创建动态控件(也许它在 if (!IsPostback) 块中)?

于 2013-07-18T20:32:43.990 回答
0

我遇到过同样的问题。我在添加控件的页面上有 viewstate="false"。(在 aspx 页面上)

于 2013-11-19T21:29:23.227 回答
0

您的页面上是否启用了 Viewstate?

如果您专门将其关闭,则需要在每个帖子上重新添加您的用户控件,因为页面不会自动重新添加它。

于 2013-07-18T20:58:06.297 回答