我有一个仅在某些情况下加载的用户控件,例如,当用户点击页面上的按钮时会发生以下情况:
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
}
单击按钮时,似乎无法完成某些操作。我认为这可能与控件通常没有加载页面的事实有关,但我不确定该如何处理。
答案 0 :(得分:4)
这是你的页面指令吗?:
<%@ Page Language="C#" AutoEventWireup="true"
修改
是动态创建/加载的吗?每次请求都需要创建动态控件(也许是在if(!IsPostback)块中)?
答案 1 :(得分:0)
您的网页上是否启用了Viewstate?
如果你专门关闭它,你需要在每个帖子上重新添加你的用户控件,因为页面不会自动重新添加它。
答案 2 :(得分:0)
我有同样的问题。我在添加控件的页面上有viewstate =“false”。 (在aspx页面上)