如何为多个控件创建公共事件
本文关键字:创建 事件 控件 | 更新日期: 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. */
}