0

我的页面 aspx 上有一个按钮和文本框,在按钮单击事件上我正在显示警报消息。

现在,当我运行网站并单击按钮时,它会显示消息,但之后当我按 F5(刷新)时,它会再次显示消息。所以我的问题是当我单击 F5 时如何删除消息。

下面是我的按钮点击代码:

  protected void btnExport_Click(object sender, EventArgs e)
  {
      DisplayMessage("There is no data to Export.", this);

  }

public void DisplayMessage(String strMessage, Control name)
{
    string script = "<script language='javascript'>alert('" + strMessage + "');</script>";
    ScriptManager.RegisterStartupScript(name, name.GetType(), "JSCR", script, false);
}

谢谢, 海特什

4

2 回答 2

0

您正在从服务器端发起客户端事件,这通常没有意义。

您注意到的行为是正确的,当您单击该按钮时,会向服务器发布一个请求,该服务器调用您的按钮单击处理程序,然后在返回响应时注册客户端脚本。当您按 F5 刷新浏览器时,会再次向服务器发布完全相同的请求,因此再次触发按钮处理程序。

我建议你阅读一些关于Post And Gets 是如何工作的以及postbacks在 ASP 中是如何工作的。

于 2013-08-12T10:03:42.007 回答
0

改变你的脚本如下

string script = "alert('hello');window.location.href='Default.aspx'";

我假设Default.aspx是你的页面

于 2013-08-12T10:09:10.470 回答