Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 删除gridview中每行的按钮_Asp.net_Vb.net_Gridview_Commandargument - Fatal编程技术网

Asp.net 删除gridview中每行的按钮

Asp.net 删除gridview中每行的按钮,asp.net,vb.net,gridview,commandargument,Asp.net,Vb.net,Gridview,Commandargument,我有一个gridview,其中包含删除和编辑行的按钮。我有gridview的html代码: <asp:GridView ID="gvList" runat="server"> <Columns> <asp:TemplateField HeaderText="Actions" HeaderStyle-ForeColor="black" HeaderStyle-Font-Bold="true"> <ItemTemplate> <asp:Butt

我有一个gridview,其中包含删除和编辑行的按钮。我有gridview的html代码:

<asp:GridView ID="gvList" runat="server">
<Columns>

<asp:TemplateField HeaderText="Actions" HeaderStyle-ForeColor="black" HeaderStyle-Font-Bold="true">
<ItemTemplate>
<asp:Button ID="btnedit" runat="server" Text="Edit" />
<asp:Button CommandArgument='<%# Eval("cUserName")%>' ID="btnDelete" OnClick="DeleteRow" runat="server" Text="Delete" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
另外,我想知道
btnAdd.CommandArgument
是否正确。
Ps:我在sender下的CType(sender,ImageButton)中有错误

asp:Button
应使用以下行进行转换:

Dim Btn As ImageButton = CType(sender, Button)
作为
按钮
而不是作为
图像按钮

其次,您将从
Btn.CommandArgument
获取用户名,但是将
CommandArgument
与SQL查询连接起来不是一个好主意。如果不是存储过程或某些ORM框架,至少尝试使用带参数的查询。使用以下命令连接到数据库并执行查询:

Using con As SqlConnection = New SqlConnection(<CONNECTION_STRING>)
    con.Open()
    Dim sql As String = "Delete FROM Intranet.dbo.Gn_ISCoordinators where" & _
                      " cUserName= @UserName"

    Dim cmd As SqlCommand = New SqlCommand(sql, con)
    cmd.Parameters.Add(New SqlParameter("@UserName", Btn.CommandArgument))

    cmd.ExecuteNonQuery() 
    con.Close()
End Using
使用con作为SqlConnection=newsqlconnection()
con.Open()
Dim sql As String=“Delete FROM Intranet.dbo.Gn\u ISCoordinators where”&_
“cUserName=@UserName”
Dim cmd As SqlCommand=新SqlCommand(sql,con)
cmd.Parameters.Add(新的SqlParameter(“@UserName”,Btn.CommandArgument))
cmd.ExecuteNonQuery()
con.Close()
终端使用

PS:-我的VB.Net充其量只是一个乡下人。另外,请注意在对数据库执行代码时可能会出现异常。因此,请使用异常处理等。

不要使用内联查询
Using con As SqlConnection = New SqlConnection(<CONNECTION_STRING>)
    con.Open()
    Dim sql As String = "Delete FROM Intranet.dbo.Gn_ISCoordinators where" & _
                      " cUserName= @UserName"

    Dim cmd As SqlCommand = New SqlCommand(sql, con)
    cmd.Parameters.Add(New SqlParameter("@UserName", Btn.CommandArgument))

    cmd.ExecuteNonQuery() 
    con.Close()
End Using