2009年4月25日 星期六

asp.net ajax 彈不出alert對話框的解決辦法

想用js腳本輸出一些提示,可是不管是用 Page.RegisterClientScriptBlock還是用 Page.RegisterStartupScript

注冊,該死的提示信息總是不出來。其實不是不出來,只是我們叫錯了它們的名字,我們只要用下面的這條語句︰
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('提示信息')", true);

就可以正常的彈出alert對話框了。

注︰如果在頁面中有多個UpdatePanel,如果每個UpdatePanel的UpdateMode都是“always”[默認值]的話,

那麼你使用那個UpdatePanel的實例作為參數都可以;如果每個UpdaePanel的UpdateMode=conditional,

那麼你必須使用正在更新的那個UpdatePanel作為參數,這樣腳本才能起作用。

所以...我把msg Function 改為..

///
/// display msg : msg("")
///

///
protected void AJAX_msg(string msgstr)
{
msgstr = msgstr.Replace("'", "").Replace("\n", "").Replace("\r", "").Replace('"', '”').Replace("(", "(").Replace(")", ")").Replace(";", ";");
string javastr = "alert('" + msgstr.ToString() + "' );\n";
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "AJAX_msg", javastr, true);
}

沒有留言:

張貼留言