我有一个用户控件,其中有一个名为upload的按钮。按钮单击事件如下所示:
protected void btnUpload_Click(object sender, EventArgs e)
{
// Upload the files to the server
}
在存在用户控件的页面上,在用户点击上传按钮后,我想在用户控件中执行按钮点击事件代码后立即执行某些操作。如何在完成工作后点击点击事件?
答案 0 :(得分:8)
您必须在用户控件中创建一个事件,例如:
public event EventHandler ButtonClicked;
然后在你的方法中触发事件...
protected void btnUpload_Click(object sender, EventArgs e)
{
// Upload the files to the server
if(ButtonClicked!=null)
ButtonClicked(this,e);
}
然后,您将能够附加到用户控件的ButtonClicked事件。
答案 1 :(得分:0)
在UserControl的CodeBehind中创建一个公共属性:
public Button btn
{
get { return this.Button1; }
}
然后在page_Load上你可以使用它:
WebUserControl11.btn.Click += (s, ea) => { Response.Write("Page Write"); };
答案 2 :(得分:0)
您可以使用显式事件实现直接将事件连接在一起,而不是仅仅为了调用另一个事件而编写事件处理程序:
public event EventHandler ButtonClicked
{
add { btnUpload.Click += value; }
remove { btnUpload.Click -= value; }
}
现在,任何订阅了您的ButtonClicked
活动的人实际上都是直接订阅Click
控件的btnUpload
事件。我发现这是一种更为简洁的实现方式。