2010-02-24 22 views
0

hai,我的javascript功能不是从后面的代码中触发的

我有一个名为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

如果您使用的Ajax组件,你应该写这样的:

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

Page.ClientScript已过时。另请注意,第三个参数是一个键,并且您正在检查错误的参数。

+0

非常感谢 – 2010-02-24 09:36:36

-1

你可以把一个面板中,并注入一些JavaScript到它:

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

,并在后面的代码,这样做:

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

当页面刷新,它应该得到执行。可能值得使用ASp.ENT AJAX进行试验,不知道如何工作。

+0

我希望如果人们花时间来回答问题,他们会解释为什么。它对任何人都没有帮助,也不会激励我的帮助。 – 2010-02-24 09:27:48

+0

我使用了更新面板来避免刷新页面。通过使用asp面板我可以做同样的事情吗? – 2010-02-24 09:28:05

+0

这就是我不知道的。只要asp:Panel在更新面板中,它将被发送到客户端,但我不知道它是否会运行。我只是没有尝试过这种方法。 我倾向于使用Telerik的控件,这是他们在RadAjaxManager控件中实现对此行为的更好支持之前所推荐的一种技术,我现在使用它。所以从不需要它。值得一试,但。 – 2010-02-24 09:54:54

相关问题