如何在asp:GridView中弹出删除确认删除按钮?
答案 0 :(得分:8)
如果GridView中的每一行都有一个删除按钮,我认为这是最好的(也是最简单的)让它发出警报要求确认的方法。这是完整的aspx代码(不需要代码隐藏):
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="DeleteButton" runat="server"
CausesValidation="False"
CommandName="Delete"
OnClientClick='<%# Eval("Title", "return confirm(\"Delete the datasource {0}?\");") %>'
Text="delete" />
</ItemTemplate>
</asp:TemplateField>
几点说明:
答案 1 :(得分:0)
如果您使用的是GridView,那么您的轨道错误。专业人士不要使用它。他们几乎只使用ListView。所以不要理会它。大多数书籍都没有教授工业最佳实践。
答案 2 :(得分:0)
您还可以在网格视图的RowDataBound上动态地将onlick属性添加到删除链接。
在下面的代码中我们有一个3列表,所以columnIndex = 2.此外,只有一个自动生成按钮(删除),所以autoButtonIndex = 0.如果我们有一个编辑按钮,保存按钮,这指数会改变。
Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Dim columnIndex As Integer = 2
Dim autoButtonIndex as Integer = 0
Try
If (e.Row.RowType = DataControlRowType.DataRow) Then
If (e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate) Then
Dim lnkBtn As LinkButton = CType(e.Row.Cells(columnIndex).Controls(autoButtonIndex), LinkButton)
lnkBtn.Attributes.Add("onclick", "if(!confirm('Are you sure to delete this row?'))return false;")
End If
End If
Catch ex As Exception
End Try
End Sub
不要忘记妥善处理您的例外情况。