ASP.NET和C#:与Response.Redirect结合使用时未显示MessageBox

问题描述 投票:0回答:1

在我的ASP.NET Web表单中,我需要通知用户其反馈已提交。我打算在后面的代码中这样做:

protected void lblButton_Click(object sender, EventArgs e) 
{

  Response.Redirect(Request.RawUrl); //Refresh page 
  Messagebox("Feedback submitted. Click OK to go back.");
  return;
}

public void Messagebox(string xMessage)
{
  Response.Write("<script>alert('" + xMessage + "')</script>");
}

但是,当我运行此命令时,页面总是刷新而不显示消息框。

如果我将Response.Direct与Messagebox交换,则没有任何变化。

我在做什么错?

c# asp.net visual-studio-2019 messagebox page-refresh
1个回答
0
投票

我认为您必须在代码中使用Response.Redirect(URL,false)。

protected void lblButton_Click(object sender, EventArgs e) 
    {

      Response.Redirect(Request.RawUrl,false); //Refresh page 
      Messagebox("Feedback submitted. Click OK to go back.");
      return;
    }

Response.Redirect(URL,false):客户端被重定向到新页面,服务器上的当前页面将继续处理。

Response.Redirect(URL,true):客户端被重定向到新页面,但是当前页面的处理被中止。

不再显示消息,然后尝试使用..... Javascript Alert ...

ScriptManager.RegisterClientScriptBlock((Page)(HttpContext.Current.Handler), typeof(Page), "alert", "javascript:alert('Feedback submitted. Click OK to go back.');", true);
© www.soinside.com 2019 - 2024. All rights reserved.