2010-03-28 91 views

回答

1

註冊Javascript與ScriptManager.RegisterClientScriptBlock而不是page.ClientScript.RegisterClientScriptBlock將負責在部分頁面更新期間註冊腳本。下面是修改後的代碼:

public static void Show(string message) 
{ 
    // Cleans the message to allow single quotation marks 
    string cleanMessage = message.Replace("'", "\\'"); 
    string script = "<script type=\"text/javascript\">alert('" + cleanMessage + "');</script>"; 

    // Gets the executing web page 
    Page page = HttpContext.Current.CurrentHandler as Page; 

    if (page != null) 
    { 
     ScriptManager.RegisterClientScriptBlock(page, typeof(Alert), "alert", script, false); 
    } 

} 
+0

感謝那麼後續的問題: http://stackoverflow.com/questions/2533995/how-to-reference-a-scriptmanager-from-httpcontext-current-currenthandler – user310291 2010-03-28 18:26:24

+0

也知道爲什麼只是因爲它在更新面板中,這不起作用? – user310291 2010-03-28 18:26:53

+0

你不需要在你的頁面上找到你的腳本管理器控件的實例,'RegisterClientScriptBlock'是'ScriptManager'類的一個靜態方法,所以上面的代碼可以像 – wsanville 2010-03-28 19:27:47

1

我建議不要使用的UpdatePanel所有,實行編寫腳本的Web服務,並通過代理訪問它通過asp.net 它將噸神經節省您還有時間讓你親切產生,因爲UpdatePanel的是真的馬車

+0

好主意,你有一個教程,謝謝。 – user310291 2010-03-29 08:41:50

+0

這很容易,你可以看看http://www.asp.net/ajaxlibrary/HOW%20TO%20Call%20WCF%20Web%20Services.ashx – vittore 2010-03-29 23:41:21

相關問題