2010-02-24 55 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

相關問題