首页 > 解决方案 > 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

标签: javascriptc#asp.netvb.net

解决方案


如果页面具有 AJAX 更新面板,则 ClientScript.RegisterClientScriptBlock 和 ClientScript.RegisterStartupScript 方法不起作用。

而是使用 ScriptManager 的 RegisterClientScriptBlock 和 RegisterStartupScript 方法。

如果您的页面没有 AJAX,则调试代码放置断点以检查代码是否在 ShowWarning() 方法中进入 If...Then 块。


推荐阅读