在从数据库中删除信息之前,我正在尝试保存一些信息。我使用的是asp网格视图。我尝试从使用RowDeleting事件删除的行中检索值。然而,我一直非常不成功。
Protected Sub gv1_RowDeleting(sender As Object, e As System.EventArgs) Handles gv1.RowDeleting
Dim a As String = gv1.Columns(0).ToString
Dim b As String = gv1.SelectedRow.RowIndex.ToString
Dim c As String = gv1.Rows(a).Cells(0).Text
End SubA最终成为标题行的第一列。B错误输出。我尝试了很多不同的方法,但都没有想出一个行索引来。我认为这个事件只能访问被删除的行。下面是我的gridview声明:
<asp:GridView ID="gv1" runat="server" AllowSorting="True" AutoGenerateColumns="False" EnableViewState="false"
DataSourceID="ds1" EmptyDataText="NO ROWS FOUND" CssClass="gridView" DataKeyNames="id" GridLines="None">
<Columns>
<asp:BoundField DataField="id" HeaderText="ID" SortExpression="id" />
<asp:BoundField DataField="totalsd" HeaderText="SD" SortExpression="totalsd" />
<asp:BoundField DataField="freesd" HeaderText="FREE" SortExpression="freesd" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this record?');" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>发布于 2013-04-03 02:16:29
将e声明为System.Web.UI.WebControls.GridViewDeleteEventArgs。然后,您可以使用e.RowIndex获取行索引。
发布于 2013-04-03 02:22:40
尝试此示例方法,如使用RowCommand
<asp:LinkButton ID="DelButton" runat=server Text="Delete" CommandName="Delete" CausesValidation=False CommandArgument='<%# Databinder.Eval(Container,"DataItem.id") %>'></asp:LinkButton>并在vb文件中进行修改
Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Dim MyConn1 As New OleDbConnection(Your Connection string)
Dim cmdDelete As OleDbCommand
If e.CommandName = "Delete" Then
cmdDelete = New OleDbCommand("Delete from table" & _
"Where id= " & e.CommandArgument.ToString() & ";", MyConn1)
MyConn1.Open()
cmdDelete.ExecuteNonQuery()
MyConn1.Close()
BindAutoMake()
End If
End Sub 注意:确保您仍然有Row_deleting事件处理程序方法,但没有任何代码为空。否则它会给出错误。
https://stackoverflow.com/questions/15771282
复制相似问题