如何在ASP.Net Gridview中添加"确认删除"选项?

Moh*_*mal 33 asp.net gridview

如何在ASP.Net Gridview中添加"确认删除"选项?

sta*_*ter 65

这应该做到这一点.

我在这里找到了它:http://forums.asp.net/p/1331581/2678206.aspx

<asp:TemplateField ShowHeader="False">
    <ItemTemplate>
        <asp:ImageButton ID="DeleteButton" runat="server" ImageUrl="~/site/img/icons/cross.png"
                    CommandName="Delete" OnClientClick="return confirm('Are you sure you want to delete this event?');"
                    AlternateText="Delete" />               
    </ItemTemplate>
</asp:TemplateField>  
Run Code Online (Sandbox Code Playgroud)


İlk*_*mov 25

如果您Gridview使用过AutoGenerateDeleteButton="true",可以将其转换为LinkButton:

  1. 单击" GridView任务",然后单击" 编辑列". https://www.flickr.com/photos/32784002@N02/15395933069/

  2. 选择" 在所选字段中删除",然后单击" 将此字段转换为TemplateField".然后单击OK: https://www.flickr.com/photos/32784002@N02/15579904611/

  3. 现在你的LinkButton意志将被生成.你可以添加这样的OnClientClick事件LinkButton:
    OnClientClick="return confirm('Are you sure you want to delete?'); "


Hec*_*tor 12

我这样做有点不同.在我的gridview中我设置了AutoGenerateDeleteButton="true".要查找删除按钮,我使用jQuery并将click事件添加到找到的Anchors.

jQuery("a").filter(function () {
        return this.innerHTML.indexOf("Delete") == 0;
        }).click(function () { return confirm("Are you sure you want to delete this record?"); 
});
Run Code Online (Sandbox Code Playgroud)

这对于我需要做的事情来说快速而简单.请注意,显示为Delete的页面中的每个Anchor都将由jQuery选中,并将添加该事件.


Sak*_*pta 5

我不需要任何图像,因此我修改了 @statmaster 给出的答案,使其与其他列一起简单输入。

<asp:TemplateField ShowHeader="False">
        <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" OnClientClick="return confirm('Are you sure you want to delete this entry?');">Delete </asp:LinkButton>             
        </ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

可以使用前景色属性更改文本的颜色。


Jam*_*ine 5

我喜欢这种在从 gridview 中删除记录之前添加确认提示的方式。这是嵌套在 aspx 页面中的 GridView Web 控件中的 CommandField 定义。这里没有什么花哨的东西——只是一个简单的命令域。

<asp:CommandField ShowEditButton="true" UpdateText="Save" ShowDeleteButton="True">
  <ControlStyle CssClass="modMarketAdjust" />
</asp:CommandField>
Run Code Online (Sandbox Code Playgroud)

然后,我所要做的就是向 GridView 控件的 RowDeleting 事件添加一些代码。此事件实际删除行之前触发,这允许您获得用户的确认,并在他不想取消时取消该事件。这是我放在 RowDeleting 事件处理程序中的代码:

Private Sub grdMarketAdjustment_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles grdMarketAdjustment.RowDeleting
  Dim confirmed As Integer = MsgBox("Are you sure that you want to delete this market adjustment?", MsgBoxStyle.YesNo + MsgBoxStyle.MsgBoxSetForeground, "Confirm Delete")
  If Not confirmed = MsgBoxResult.Yes Then
    e.Cancel = True 'Cancel the delete.
  End If
End Sub
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常。