来自ASP.Net Code的Javascript函数

时间:2010-10-21 12:36:23

标签: c# javascript asp.net

我正在尝试使用以下代码在按钮单击后从页面代码调用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没有被调用。

我想要实现的是按钮点击弹出消息。我不想阻止服务器代码执行。

3 个答案:

答案 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>");
}