我的页面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);
}
谢谢, 亚太区首席技术官Matt
答案 0 :(得分:0)
您正在从服务器端发起客户端事件,这通常没有意义。
您注意到的行为是正确的,当您单击该按钮时,请求被发布到服务器,该服务器调用您的按钮单击处理程序,然后在返回响应时注册客户端脚本。当您按F5刷新浏览器时,会再次向服务器发送完全相同的请求,因此会再次触发按钮处理程序。
我建议你先阅读一下Post And Gets 工作以及postbacks在ASP中的工作方式。
答案 1 :(得分:0)
按如下方式更改脚本
string script = "alert('hello');window.location.href='Default.aspx'";
我假设Default.aspx
是您的页面