无法让 AddHandler 和 AddressOf 与 UpdatePanel 配合使用



我正在构建一个动态构建UpdatePanels, Panels, DDL和按钮的页面。每个UpdatePanel都有一个按钮。我正在做一些测试,试图在按钮被点击后改变一个值。当我在单击按钮后逐步执行代码时,页面加载并调用按钮单击函数。但是它不会改变我创建的Label的值。

Private Function BuildSaveButton() As Button
  Dim bt As New Button
  bt.CssClass = "saveButton"
  bt.Text = "Save"
  AddHandler bt.Click, AddressOf StateSaved
  Return bt
End Function
Private Sub StateSaved(ByVal sender As Object, ByVal e As EventArgs)
  nameSelected.Text = "Worked!"
End Sub

理想情况下,我的目标(因为我有嵌套的UpdatePanels)是让页面只更新什么是在特定的UpdatePanel,而不是整个页面。

我很确定,在添加处理程序之前,您必须为控件分配一个所有者。

既然你要添加按钮到一个特定的面板,只需将面板作为参数传入。

我假设updatepanel是你创建的一个类,它继承了一些使用控件属性的类。

Private Sub SubAddButtonToPanel(f as UpdatePanel) As Button
  Dim bt As New Button
  bt.CssClass = "saveButton"
  bt.Text = "Save"
  f.Controlls.Add(bt)
  AddHandler bt.Click, AddressOf Me.StateSaved
  Return bt
End Sub
Private Sub StateSaved(ByVal sender As Object, ByVal e As EventArgs)
  nameSelected.Text = "Worked!"
End Sub

我还在调用StateSaved()前添加了"Me."作为预防措施。

最新更新