ASP.NET确认在网格中删除

Joe*_*ook 0 vb.net asp.net

我需要向网格添加确认删除操作.问题是呈现"删除"链接的方式.我的网格是用vb.net中的代码构建的.我有这个

colDelete.AllowDelete = True
colDelete.Width = "100"
AddHandler CType(gridSavedForLater, Grid).DeleteCommand, AddressOf dgDeleteSelectedIncident
Run Code Online (Sandbox Code Playgroud)

子是以下

Sub dgDeleteSelectedIncident(ByVal sender As Object, ByVal e As GridRecordEventArgs)

    Dim message As String = "Are you sure you want to delete this incident?"
    Dim caption As String = "Confirm Delete"
    Dim result = System.Windows.Forms.MessageBox.Show(message, caption, Windows.Forms.MessageBoxButtons.OKCancel, Windows.Forms.MessageBoxIcon.Warning)

    'If (result = Windows.Forms.DialogResult.Cancel) Then
    'Else
    ' MessageBox("Are you sure you want to delete this incident?")
    'Get the VehicleId of the row whose Delete button was clicked
    'Dim SelectedIncidentId As String = e.Record("IncidentId")

    ''Delete the record from the database
    'objIncident = New Incidents(SelectedIncidentId, Session("userFullName"))

    'objIncident.DeleteIncident()
    ''Rebind the DataGrid
    LoadSavedForLater()
    ''        End If

End Sub
Run Code Online (Sandbox Code Playgroud)

我需要在调用此子时添加一个javascript确认对话框.我可以使用Windows窗体消息框,但这在服务器上不起作用.

请帮助乔

Tim*_*ter 5

您无法在ASP.NET中显示MessageBox,因为它将显示在服务器上.所以你需要一个javascript confirmonclick删除按钮.因此,您无需先回发到服务器.您可以在初始加载时附加脚本GridView.

一个好地方将是RowDataBoundGridView:

Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
    Select Case e.Row.RowType
        Case DataControlRowType.DataRow
            ' if it's a custom button in a TemplateField '
            Dim BtnDelete = DirectCast(e.Row.FindControl("BtnDelete"), Button)
            BtnDelete.OnClientClick = "return confirm('Are you certain you want to delete?');"
            ' if it's an autogenerated delete-LinkButton: '
            Dim LnkBtnDelete As LinkButton = DirectCast(e.Row.Cells(0).Controls(0), LinkButton)
            LnkBtnDelete.OnClientClick = "return confirm('Are you certain you want to delete?');"            
    End Select
End Sub
Run Code Online (Sandbox Code Playgroud)