如何在listview上执行不受控件约束的删除

dav*_*mcd 5 vb.net asp.net listview

我有一个ListView,我已经设置了删除链接按钮.当我点击删除然后我得到"The ListView 'ListView' raised event ItemDeleting which wasn't handled."所以我决定尝试实现DeleteLinkButton_Click()ListView_ItemDeleted()...但是我无法弄清楚如何识别我为我选择的行DeleteLinkButton_Click().

我没有通过控件绑定我的源代替我使用以下方法.

ListView.DataSource = myObject.RetreiveInfo()
ListView.DataBind()
Run Code Online (Sandbox Code Playgroud)

我想如果我可以识别我的行,我可以访问那里的标签值并将它们传递给存储过程并执行我的DELETE.

有人可以帮忙吗?如果我需要提供更多代码,请告诉我!

编辑:

代码隐藏

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   If Not IsPostBack Then
      UpdateDisplay()
   End If
End Sub

Protected Sub UpdateDistplay()
    ListView.DataSource = myObject.RetrieveInfo()
    ListView.DataBind()
End Sub
Run Code Online (Sandbox Code Playgroud)

ASPX

<ItemTemplate>
  <tr>
      <td>
         <asp:LinkButton ID="DeleteLinkButton" Text="Delete" CommandName="Delete" OnClientClick="return confirm('Delete this Info?')" runat="server"></asp:LinkButton>
      </td>
      <td>
         <asp:Label ID="Name" runat="server" Text='<%# Bind("Name") %>'></asp:Label>
      </td>
  </tr>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

Jos*_*ell 2

您可以在ItemDeleting事件中找到要删除的项目的索引,因此首先处理它可能会对您有所帮助。它看起来像这样:

Protected Sub myListView_OnItemDeleting(ByVal sender As Object, ByVal e As ListViewDeleteEventArgs)
    Dim deletedIndex As Integer
    deletedIndex = e.ItemIndex
End Sub
Run Code Online (Sandbox Code Playgroud)

此时,您现在拥有单击了删除按钮的项目的索引,因此您可以查找标签并执行DELETE(如您在问题中提到的)。

祝你好运!