我正在尝试使用以下代码在按钮单击后从页面代码调用javascript。
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language=\"javascript\">");
sb.Append("alert(\"Some Message\")");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "Alert", sb.ToString());
但javascript没有被调用。
我想要实现的是按钮点击弹出消息。我不想阻止服务器代码执行。
答案 0 :(得分:1)
您似乎正在使用AJAX Update Panel。如果是这样 - 您应该使用ScriptManager来执行您的脚本:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language=\"javascript\">");
sb.Append("confirm(\"Some Message\")");
sb.Append("</script>");
ScriptManager.RegisterStartupScript(
page,
page.GetType(),
"Alert",
sb.ToString(),
true);
但是,如果用户在“确认”窗口中回答“否”,则不会阻止执行服务器端代码。
答案 1 :(得分:0)
如果您在AJAX更新面板中的按钮事件中注册,请尝试;
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ScriptName", sb.ToString(), true);
Cheers Tigger
答案 2 :(得分:0)
我遇到过同样的问题,我想要的是在Send Email
按钮点击时显示弹出窗口。我实现了以下目标:
if(True)
{
Response.Write(@"<script language='javascript'>alert('Your e-mail sent successfully!');</script>");
}
else
{
Response.Write(@"<script language='javascript'>alert('Your e-mail sent Failed! Please Try Again');</script>");
}