Asp.Net - 用户控制按钮OnClick事件未触发

时间:2013-07-18 20:28:59

标签: asp.net user-controls

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

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
}

单击按钮时,似乎无法完成某些操作。我认为这可能与控件通常没有加载页面的事实有关,但我不确定该如何处理。

3 个答案:

答案 0 :(得分:4)

这是你的页面指令吗?:

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

修改

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我有同样的问题。我在添加控件的页面上有viewstate =“false”。 (在aspx页面上)