我正在尝试动态创建命令按钮,但单击有问题的按钮似乎没有引发相应的CommandButton_Click事件.我注意到在SO的示例中,为Button.OnCommand以及CommandName和CommandArgument设置了属性,但它不是intellisense中的选项.
所以问题是,我在这里做错了什么(下面的代码没有OnCommand),是否以其他方式访问 - 如果是这样,为什么我发现的例子都显示为.OnCommand?
编辑:进一步的帮助,我添加了处理程序,但事件仍未触发.这些按钮位于UpdatePanel中,并在每次回发时重建(与处理程序一起).我创建了一个简化的例子,我正在做的事情如下所示:如果按钮事件触发,它会将"EVENT FIRED"写入txtTestFired文本框 - 足以说我从未见过它.这真的让我疯狂,任何帮助都非常感激.
.aspx文件
<form id="frmMain" runat="server">
<asp:ScriptManager ID="scmAddProducts" runat="server">
</asp:ScriptManager>
<asp:updatepanel runat="server">
<ContentTemplate>
<asp:TextBox ID="txtProduct" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnAddItem" runat="server" Text="Add Line" />
<asp:TextBox ID="txtTestFired" runat="server"></asp:TextBox>
<br />
<br />
<asp:Panel ID="pnlAddedLines" runat="server"></asp:Panel>
</ContentTemplate>
</asp:updatepanel>
</form>
Run Code Online (Sandbox Code Playgroud)
.aspx.vb文件
Protected Sub btnAddItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddItem.Click
Dim dtItems As New System.Data.DataTable
If Session("Items") Is Nothing Then
Dim dcColumn As New System.Data.DataColumn
dcColumn.DataType = Type.GetType("System.String")
dcColumn.ColumnName = "Product"
dtItems.Columns.Add(dcColumn)
Session("Items") …Run Code Online (Sandbox Code Playgroud)