错误处理updatepanel asp.net

时间:2017-03-07 20:30:06

标签: asp.net gridview updatepanel scriptmanager registerstartupscript

我在gridpanel中放了一个gridview。 当用户del行会导致FK错误时,将不会显示任何消息和错误页面,因为asyncpostback updatepanel。

当e.AffectedRows = 0时,我放置了一个ScriptManager.RegisterStartupScript来显示GridView2_RowDeleted事件中的一些消息。但它也不起作用(没有任何反应)。我想在GridView2_RowDeleted事件之前可能会发生SQL错误。

那么,有人可以给我一些这种情况的理想吗?我需要的是在发生SQL错误时显示alert或lable.text等消息(updatepanel中的gridview)

现在这里是GridView2_RowDeleted的代码

    Private Sub GridView2_RowDeleted(sender As Object, e As GridViewDeletedEventArgs) Handles GridView2.RowDeleted

    If e.AffectedRows = 0 Then
        Label14.Text = "Can't Del because still material in this storage!"
        ScriptManager.RegisterStartupScript(Me.UpdatePanel2, Me.UpdatePanel2.GetType(), "mykey", "alert('Error:" & "Can't Del because still material in this storage!" & "');", True)
        UpdatePanel2.Update()            
    End If
End Sub

1 个答案:

答案 0 :(得分:-1)

谢谢大家回复我。 由于两个问题,警报不显示 首先:e.message.tostring可能存在一些影响警报消息字符串的单词。

第二:我们需要" e.ExceptionHandled = True"自己犯错误

我在下面找到答案。

Private Sub GridView1_RowDeleted(sender As Object, e As GridViewDeletedEventArgs) Handles GridView1.RowDeleted
    If (e.Exception Is Nothing) Then
        ScriptManager.RegisterStartupScript(Me, Me.GetType(), "alert", "alert('del 1 rec');", True)
        GridView1.SelectedIndex = -1
    Else
        ScriptManager.RegisterStartupScript(Me, Me.GetType(), "alert", "alert('Error:del 0 rec');", True)
       e.ExceptionHandled = True
    End If

End Sub