Asp.net 我的javascript函数不是从代码背后启动的

Asp.net 我的javascript函数不是从代码背后启动的,asp.net,Asp.net,海, 我有一个名为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.WebCo

海,

我有一个名为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更新面板中时,它不会启动。为什么?

您可以在面板中插入一些javascript:

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

在您的代码背后,请执行以下操作:

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

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

如果您使用的是AJAX组件,您应该编写如下内容:

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

页面.ClientScript
已被淘汰。还要注意,第三个参数是一个键,您检查的是错误的

我真希望如果人们花时间否决投票答案,他们会解释原因。它不会帮助任何人,也会降低我的帮助积极性。我使用更新面板来避免刷新页面。通过使用asp面板,我可以做同样的事情吗?这是我不确定的。只要asp:Panel在更新面板中,它就会被发送到客户端,但我不知道它是否会运行。我只是没有试过这种方法。我倾向于使用Telerik的控件,这是他们在RadAjaxManager控件中更好地支持这种行为之前推荐的一种技术,我现在使用它。所以我从不需要它。不过值得一试。