asp.net - 如何从中继器内部触发按钮事件?

标签 asp.net vb.net onclick repeater itemcommand

我已经完成了研究,但找不到在 VB 中执行以下操作的有效方法:

  • 每个按钮都应触发相同的事件。
  • 按钮事件保存每个重复器项目,因此每个事件不是唯一。

我知道我可以使用 ItemCommand 选项,但无法使其按预期工作。

ASP.NET

中继器内部项目

<asp:Button ID="btnSave" RunAt="Server"/>

VB.NET

Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    sqlConn.Open()
        For Each Item As RepeaterItem In rpt.Items
        ...
        Next
    sqlConn.Close()
End Sub

最佳答案

编辑:

经过对 SO 的一些研究,我 found ItemCommand 之外的其他事件不会被 Asp:Repeater 捕获,如 FlySwat在他的回答中说道。因此,您需要像这样编写 VB.NET 代码:

首先,在页面上声明 ItemCommand 事件,如下所示:

Protected Sub rpt_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles rpt.ItemCommand
    If e.CommandName = "Save" Then
        'Save
    End If
End Sub

然后,在 Asp:Repeater 内的 Asp:Button 标记上,您必须如下设置其 CommandName 属性:

<Asp:Button ID="btnSave" runat="server" CommandName="Save" UseSubmitBehavior="false"/>

看看here了解有关 UseSubmitBehavior 的更多信息。

尝试一下。

关于asp.net - 如何从中继器内部触发按钮事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20540675/

相关文章:

java - 如何在 Android Java 中单击按钮时从 MainActivity 以外的类调用函数

android - 在问卷应用程序中使用 textView 数组

javascript - 使用 UI Sortable,单击按钮时根据给定值将项目移动到新位置?

c# - 包含从 Request.Form 中挑选的数据的单元测试方法。新手问题

c# - 如何生成 saml 2.0 sso 服务元数据

c# - ASP.NET MVC : Is UpdateModel an "expensive" operation (due to Reflection)?

jquery - 如何将自动完成功能连接到文本框?

.net - VB.NET - WinForms - 防止用户控件的资源被复制到窗体的本地资源中

vb.net - DataTable.GetChanges() 是否可以通过引用获取行?

Asp.net Core 身份 - Azure 身份验证中间件