【问题标题】:How to add linkbutton control to table cell dynamically如何动态地将链接按钮控件添加到表格单元格
【发布时间】:2020-01-22 23:38:06
【问题描述】:

如何将链接按钮控件动态添加到表格单元格及其事件处理程序。?

Class SurroundingClass
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim tbl As HtmlTable = New HtmlTable()
        Dim tr As HtmlTableRow = New HtmlTableRow()
        Dim td As HtmlTableCell = New HtmlTableCell()
        tr.Cells.Add(td)
        tbl.Rows.Add(tr)
        Dim lbtn As LinkButton = New LinkButton()
        lbtn.Text = "My Link Button"
        lbtn.Click += New EventHandler(AddressOf LinkButton1_Click) '<- THIS LINE ERROR
        td.Controls.Add(lbtn)
    End Sub

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)
    End Sub
End Class

ERROR message image

【问题讨论】:

  • 错误信息是什么?
  • 我认为您必须在附加事件处理程序之前添加控件,只需将td.Controls.Add(lbtn) 向上移动一行。
  • 嗨@willman,它仍然是同样的错误。我附上一张图片(错误消息)。
  • 尝试将您的代码移动到 Page_Init 而不是 Page_load

标签: asp.net vb.net


【解决方案1】:

啊,您使用 C# 格式附加事件 "+=",在 VB 中使用 AddHandler 方法。
例如:
AddHandler lbtn.Click, AddressOf LinkButton1_Click

【讨论】:

  • 啊,是的!没有错误。但是这个按钮功能不起作用 -> Protected Sub LinkBut​​ton1_Click(ByVal sender As Object, ByVal e As EventArgs) End Sub
  • 我认为您仍然需要在 Page_Init 而不是 Page_Load 中绑定该处理程序,因为在调用 Page_Load 时已经发生了事件调度。
  • 如果这个答案有帮助,请务必mark it as such
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多