我的javascript函数没有从后面的代码中解雇

时间:2010-02-24 09:20:31

标签: asp.net

hai,

我有一个名为sss()的javascript函数。我想从后面的代码中调用它。

 function sss() {
          $("#div-TableContent").show("slow");
          alert("its Works"); 
          };

我使用了这段代码

 Private Sub dataGridView_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles dataGridView.RowEditing
        If (Not ClientScript.IsStartupScriptRegistered("sss")) Then
            Page.ClientScript.RegisterStartupScript(Me.GetType(), "alert", "sss();", True)
        End If
    End Sub

但是当网格位于ajax更新面板中时,它不会触发。为什么呢?

2 个答案:

答案 0 :(得分:2)

如果您正在使用Ajax组件,则应编写如下内容:

If (Not ClientScript.IsStartupScriptRegistered("sss")) Then   
    ScriptManager.RegisterStartupScript(Me, Me.GetType(), "sss", "sss();", True)   
End If

Page.ClientScript已被废弃。另请注意,第三个参数是一个键,您正在检查错误的键。

答案 1 :(得分:-1)

你可以放入一个面板并注入一些javascript:

<asp:Panel id="javascripInjectorPanel" runat="server">

并在您的代码背后,执行:

javascriptInjectorPanel.Controls.Add(new LiteralControl("<script type=\"text/javascript\">sss();</script>"));

当页面刷新时,它应该被执行。可能值得尝试使用ASp.ENT AJAX,但不确定它是如何工作的。