2013-04-17 67 views
2

我想從後面的代碼調用JavaScript函數,但沒有運氣到目前爲止。我試圖在Page_Load方法中添加以下片段。從ASP.net調用JavaScript函數後面的代碼

我已經試過如下

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "foo", "alert('test22222')", true); 

此外,如下

Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "addScript", "alert('test22222');", true); 

沒有爲我工作。有什麼我在這裏失蹤?我想在加載頁面之前顯示警報消息。

任何幫助表示讚賞。謝謝。

+0

你是什麼意思「加載頁面之前」? – tomasmcguinness

+0

渲染頁面之前嗎? – MJM

+0

RegisterstartupScript會將Javascript放在頁面的最後,因此在執行之前渲染已經完成(我認爲)。你最好把代碼包含在你的ASPX頁面的頂部附近。 – tomasmcguinness

回答

1

您可以在page_prerender事件

protected void page_prerender(object sender, EventArgs e) 
{ 
     your code here; 
} 
+0

這與當前的行爲相同:( – MJM

+0

我想在頁面呈現在屏幕前調用一個函數,所以我試圖實現它,它沒有被調用,我甚至調用了代碼中給出的alert – MJM

+0

參考最新答案 – 2013-04-17 10:51:07

0

這將工作落實。您在通知結尾忘記了分號:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "foo", "alert('test22222');", true); 
+0

它沒有效果:(同樣的行爲 – MJM

+0

你使用ajax調用嗎? – Yeronimo

2

您錯過了一個;在你的代碼中。試試這對我有用。

但我會建議在Page.ClientScript.RegisterStartupScriptScriptManager.RegisterStartupScript作爲第一個是專爲AJAX調用。哪些適用於部分頁面發佈。

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "foo", "alert('test22222');", true); 
相關問題