asp.net - 动态按钮控件未绑定到 VB.NET 中的事件处理程序
问题描述
所以首先让我提一下,这类似于发布的另外两个有利的问题。我已经使用这些(帖子一,帖子二)作为参考来尝试帮助我的情况,但我离解决我的问题还差得远。
我在下面添加了相关代码,同时注意不要发布“代码墙”。
目标
所以我想要做的是向以编程方式创建的按钮添加一个点击事件。每个按钮都会启动一个 postBack 并将数据保存到数据库,而无需重新渲染整个页面。
问题
我下面的代码可以编译,但在页面呈现时事件未绑定到控件,并且没有任何内容表明“单击”事件已绑定到按钮。
我想知道我是不是做错了什么,或者我是否被迫使用一些技巧,或者作为建议使用 LinkButtons 的帖子之一。但是,在我看来,LinkButtons 不适合这种情况。我还引用了 LinkButton vs Button。
欢迎所有反馈。谢谢你。
页面.ascx
<asp:UpdatePanel ID="parentWrapper" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="itemsPlaceHolder" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
page.ascx.vb(代码隐藏)
Protected Sub Items_Load()
'For Brevity purposes, only the itemBtn
'is added to the parent controller. Other controls are omitted on purpose.
'There are 200 other items that will be rendered as well.
Dim itemContainer = New WebControl(HtmlTextWriterTag.Div),
itemBtn = New Button()
itemBtn.Text = "select"
itemBtn.UseSubmitBehavior = False
AddHandler itemBtn.Click, AddressOf ItemSelectBtn_Click
itemContainer.Controls.Add(itemBtn)
WorkshopsPlaceHolder.Controls.Add(itemContainer)
End Sub
Private Sub ItemSelectBtn_Click(ByVal sender As Object, ByVal e As EventArgs)
Response.Write("<script>console.log('clicked & doPostBack')</script>")
End Sub
更新
itemBtn.UseSubmitBehavior = False
所以我做了很多研究,到目前为止,这是帮助我实现目标的最佳选择。我不确定原始页面或网站对我有什么帮助,但它引导我访问了这个MSDN 链接。
这篇 SO 帖子帮助我解决了Asp Button 类型。
希望这对其他人有所帮助。
解决方案
试着写:
Handles ItemSelectBtn.Click
后
ItemSelectBtn_Click([...])
推荐阅读
- mysql - 如何从表 1 的行内的表 2 中选择列
- python - REGEX - NP++ - 使用一个正则表达式从代码的子组中删除填充 0
- c# - 收藏中的“差距”是什么?
- sql - 连接两个表,其中一个表中有多个与另一个表中的单行相关的行
- reactjs - 在 redux-from 中仅重置一个向导
- ngrx - ngrx/angular 6 - 尝试通过效果设置动作和另一个动作的参数
- java - 在创建数据集时使用 @JsonProperty 重命名 spark 中的列
- c - printf()函数的实现
- r - 时间戳上的 R 子集 data.frame
- python - 将两个 Pandas Dataframes 转换为每个组的元组字典