Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET和C#:与Response.Redirect结合使用时不显示MessageBox_C#_Asp.net_Visual Studio 2019_Messagebox_Page Refresh - Fatal编程技术网

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

ASP.NET和C#:与Response.Redirect结合使用时不显示MessageBox,c#,asp.net,visual-studio-2019,messagebox,page-refresh,C#,Asp.net,Visual Studio 2019,Messagebox,Page Refresh,在我的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

在我的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>");
}
protectedvoid lblButton\u单击(对象发送方,事件参数e)
{
Response.Redirect(Request.RawUrl);//刷新页面
Messagebox(“已提交反馈。单击确定返回”);
返回;
}
公共无效消息框(字符串xMessage)
{
Write(“警报(“+xMessage+”)”);
}
然而,当我运行这个程序时,我的页面总是在没有显示消息框的情况下刷新

如果我将Response.Direct与Messagebox交换,则不会发生任何更改


我做错了什么?

我认为您必须在代码中使用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警报

protected void lblButton_Click(object sender, EventArgs e) 
{
Response.Redirect(Request.RawUrl,false); //Refresh page 
ScriptManager.RegisterClientScriptBlock((Page)(HttpContext.Current.Handler), typeof(Page), "alert", "javascript:alert('Feedback submitted. Click OK to go back.');", true);
return;
}

我认为您必须在代码中使用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警报

protected void lblButton_Click(object sender, EventArgs e) 
{
Response.Redirect(Request.RawUrl,false); //Refresh page 
ScriptManager.RegisterClientScriptBlock((Page)(HttpContext.Current.Handler), typeof(Page), "alert", "javascript:alert('Feedback submitted. Click OK to go back.');", true);
return;
}

警报是特定于页面的,因此即使显示警报对话框,它也会在客户端重定向后立即消失


您需要的是一个确认页面,该页面是从lblButton_单击返回的,它有一个“Ok”按钮、一个超链接或一个定时js函数,可以更改您要重定向到的页面的地址。

警报是特定于页面的,因此即使显示警报对话框,它也会在客户端重定向后立即消失


您需要的是一个确认页面,该页面从lblButton_单击返回,它有一个“Ok”按钮、一个超链接或一个定时js函数,可以更改您要重定向到的页面的地址。

根据我得到的一个建议,最后,我使用了一个确认页面,其中有一个OK按钮,该按钮从aspx文件调用:

<asp:Button runat="server" ID="btnSave" Click="btnSave_Click" Text="Save"
    OnClientClick="return confirm('Are you sure you want to do this thing?');"  />

根据我得到的一个建议,我最终使用了一个确认页面,其中包含一个从aspx文件调用的OK按钮:

<asp:Button runat="server" ID="btnSave" Click="btnSave_Click" Text="Save"
    OnClientClick="return confirm('Are you sure you want to do this thing?');"  />


为什么会显示消息框?在显示刷新之前,您已启动刷新。也许可以交换这两行代码。没有更改-问题已编辑。为什么消息框会显示?在显示刷新之前,您已启动刷新。也许可以交换这两行代码。没有任何更改-问题已编辑。