javascript - Javascript 无法在 ClientScriptManager 内触发
问题描述
我需要检查一些东西来决定是否显示警告。问题是javascript没有触发。有人可以帮我解释为什么。我在网上搜索过,看起来我的脚本很好。
有我的代码:
Private Sub ShowWarning(ByVal ID As Integer)
Dim ds As DataSet = reminders.getJuryPaymentDueEvent(ID)
If ds.Tables(0).Rows.Count > 0 Then
Dim cs As ClientScriptManager = Page.ClientScript
Dim script As String = "javascript:confirm('There is a record and it will be deleted')"
cs.RegisterStartupScript(Page.GetType(), "confirm", script, True)
End If
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
If hasorder() then 'there is other function which works fine
ShowWarning(ID)
'if confirm return ture
deleteOrder()
end if
End Sub
解决方案
如果页面具有 AJAX 更新面板,则 ClientScript.RegisterClientScriptBlock 和 ClientScript.RegisterStartupScript 方法不起作用。
而是使用 ScriptManager 的 RegisterClientScriptBlock 和 RegisterStartupScript 方法。
如果您的页面没有 AJAX,则调试代码放置断点以检查代码是否在 ShowWarning() 方法中进入 If...Then 块。