【问题标题】:Alert message on button click event按钮单击事件的警报消息
【发布时间】:2013-08-12 09:56:27
【问题描述】:

我的页面 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);
}

谢谢, 希特什

【问题讨论】:

  • 在页面加载时为该消息分配空值

标签: javascript asp.net javascript-events


【解决方案1】:

如下改变你的脚本

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

我认为Default.aspx 是你的页面

【讨论】:

    【解决方案2】:

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

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

    我建议你阅读一下Post And Gets 以及 postbacks 在 ASP 中的工作方式。

    【讨论】:

    • 原来如此,在struts中我必须采取措施在页面刷新后保留该值!
    • ASP 确实有 Viewstate,如果启用,它将自动在回发之间保留表单中的值。
    • 默认情况下它总是打开的?
    • Viewstate 默认应该是开启的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 2021-12-15
    • 2021-08-06
    • 2020-08-09
    相关资源
    最近更新 更多