动态文本框的 Fire TextChanged 事件不起作用

Fire TextChanged event of dynamic textbox doesnt work

我创建了一个 Gridview,它的每个单元格都有一个文本框。文本框已在 code-behind 中动态创建。我将事件 TextChange 分配给控件但从未触发。

我有两个目标来解决这个问题,捕捉每个文本框的 textchanged 事件来评估它,另一方面,在用户按下按钮后获取文本框的文本 "save"。

我试图获取按钮回发的控件,但回发后,'cell.Controls' 没有任何结果。那么为什么文本框消失了?

我试图创建一个 WithEvents (Public WithEvents txtBoxEv As TextBox) 以将其设置为事件 header 但事件没有触发

'Here im creating the control into a method of code-behind (not the _Load event), and assign the event
For i = 1 To e.Row.Cells.Count - 1

      Dim txtbox As New TextBox
      txtbox.ID = "txtData" + e.Row.RowIndex.ToString + i.ToString
      txtbox.MaxLength = 17
      txtbox.CssClass = "txtBoxCells"
      AddHandler txtbox.TextChanged, AddressOf TextBox1_TextChanged
      e.Row.Cells(i).Controls.Add(txtbox)
Next

'This is the event
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs)

End Sub

经过多次尝试和调查,我厌倦了测试,但我无法修复它

事件处理程序的定义似乎不完整。

请尝试:

Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles txtbox.TextChanged