[英]User Control Events
我有一个用户控件,其中包含一个名为upload的按钮。 按钮单击事件如下所示:
protected void btnUpload_Click(object sender, EventArgs e)
{
// Upload the files to the server
}
在存在用户控件的页面上,在用户点击上传按钮后,我想在用户控件中执行按钮点击事件代码后立即执行某些操作。 如何在完成工作后点击Click事件?
您必须在用户控件中创建一个事件,例如:
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事件。
您可以使用显式事件实现直接将事件连接在一起,而不是仅仅为了调用另一个事件来编写事件处理程序:
public event EventHandler ButtonClicked
{
add { btnUpload.Click += value; }
remove { btnUpload.Click -= value; }
}
现在任何订阅ButtonClicked
事件的人实际上都是直接订阅btnUpload
控件的Click
事件。 我发现这是一种更为简洁的实现方式。
在UserControl的CodeBehind中创建一个公共属性:
public Button btn
{
get { return this.Button1; }
}
然后在page_Load上你可以使用它:
WebUserControl11.btn.Click += (s, ea) => { Response.Write("Page Write"); };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.