我已复制并粘贴此警报类: http://madskristensen.net/post/JavaScript-AlertShow%28e2809dmessagee2809d%29-from-ASPNET-code-behind.aspx
除了更新面板内的按钮外,它有效,但没有显示错误。内部的asp代码已执行,但客户端没有显示任何内容。
答案 0 :(得分:1)
使用ScriptManager.RegisterClientScriptBlock
而不是page.ClientScript.RegisterClientScriptBlock
注册Javascript将负责在部分页面更新期间注册脚本。这是修改后的代码:
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);
}
}
答案 1 :(得分:1)
我建议不要使用updatePanels,实现可编写脚本的webservice,并通过asp.net为您生成的代理访问它 它会为你节省大量的神经和时间,因为updatepanel确实非常错误