繁体   English   中英

用户控制事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM