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

时间:2011-08-16 06:51:54

标签: c# .net asp.net

在我的应用程序中,我需要创建一个基于行内容动态创建行的表, 对于Ex:

<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事件,我可以从代码隐藏中创建一个新行。所以问题是要创建一个公共事件,它需要被动态创建的所有行中的所有复选框使用。

如果您知道任何解决方案,请建议。 提前致谢

1 个答案:

答案 0 :(得分:0)

创建动态控件时,您可以在代码中分配OnCheckedChanged事件。

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

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