c# - 我可以延迟绑定(bind)到 C# 中的事件处理程序吗?

标签 c# event-handling late-binding

我正在动态创建对象并将它们插入到 html 表中,对象是标签或链接按钮,如果它们是链接按钮,我需要为点击事件订阅一个事件处理程序,但我正在努力寻找一种方法来实际上添加处理程序。到目前为止的代码是:

WebControl myControl;

if _createLabel)
{
    myControl = new Label();
}
else
{
    myControl = new LinkButton();
}

myControl.ID = "someID";
myControl.GetType().InvokeMember("Text", BindingFlags.SetProperty, null, myControl,  new object[] { "some text" });

if (!_createLabel)
{
    // somehow do myControl.Click += myControlHandler; here
}

最佳答案

以下将起作用:

LinkButton lnk = myControl as LinkButton;
if (lnk != null)
{
    lnk.Click += myControlHandler;
}

关于c# - 我可以延迟绑定(bind)到 C# 中的事件处理程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867948/

相关文章:

用于指定与参数类型相同的返回类型的 phpDoc 符号

c# - 无法加载文件或程序集 'System.Data.SQLite' 或其依赖项之一。试图加载格式不正确的程序

浏览器中的 javascript 和 td 元素事件属性

javascript - .on() 不适用于动态生成的内容

javascript - react native DeviceEventEmitter 取消订阅事件

c - 我想在 C 中为二维数组创建一个通用选择器

c# - (自动)依赖注入(inject)绑定(bind)机制

c# - 使用 GROUP BY 和 COUNT(DISTINCT) 的 LINQ to SQL

c# - 在没有安装 Sharepoint 的情况下在 VS 2010 中创建 Sharepoint 目录

c# - 在 ASP.NET 中丢失 session 数据