如何为多个控件创建公共事件

本文关键字:创建 事件 控件 | 更新日期: 2023-09-27 18:05:56

在我的应用程序中,我需要创建一个表,根据行内容动态创建行,例:

<asp:Table ID="Table1" runat="server">
                    <asp:TableHeaderRow>
                        <asp:TableHeaderCell>Is Max</asp:TableHeaderCell>
                        <asp:TableHeaderCell>Units</asp:TableHeaderCell>
                        <asp:TableHeaderCell>Cost</asp:TableHeaderCell>
                    </asp:TableHeaderRow>
                    <asp:TableRow>
                        <asp:TableCell>
                            <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged" AutoPostBack="True" /></asp:TableCell>
                        <asp:TableCell>
                            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></asp:TableCell>
                        <asp:TableCell><input type="text" name="sds" /></asp:TableCell>
                    </asp:TableRow>
                </asp:Table>

我把这些表控制在UpdatePanel。这里我写了一个CheckedChanged事件,它将从代码背后创建一个新行。因此,问题是创建一个公共事件,它需要被所有行中的所有复选框使用,甚至是动态创建的。

如果你知道任何解决方案请提出建议。提前感谢

如何为多个控件创建公共事件

您可以在创建动态控件时在代码中指定OnCheckedChanged事件。

一个简短的示例代码,缺少所有特定的内容,显示事件订阅:

private void createControl () {
  CheckBox dynamicCheckbox = new CheckBox();
  /* properties */
  dynamicCheckbox.CheckedChanged += new EventHandler( Common_CheckedChanged );
  /* add to control tree, etc. */
}