我有一个简单的asp.net WebForms应用程序,有两种形式:Main.aspx和Card.aspx。 在卡片表格中,我有保存按钮,其中包含以下点击事件:
protected void buttonSave_Click(object sender, EventArgs e)
{
if (canSave)
{
string script = String.Format("alert(\"{0}\");", "Successfully saved");
ScriptManager.RegisterStartupScript(this, this.GetType(), "alertMessage", script, true);
Save();
Response.Redirect("~/Main.aspx");
}
}
因此,它应显示警报,保存数据(Save()方法)并重定向到主窗体。 尽管如此,它会保存数据并重定向到页面,但它不会显示警报。 应显示警报的代码适用于页面加载事件,但不适用于按钮单击事件。是什么原因?
答案 0 :(得分:1)
脚本在Card.aspx的客户端执行。
因为在服务器端本身你会重定向到Main.aspx,脚本不会执行,因此不会显示警告。
脚本在PageLoad事件中起作用,因为没有重定向发生。(我假设因为没有为PageLoad提供代码)