当我们在ASP.NET页面上使用Response.Redirect时,Javascript弹出消息框无法正常工作?

时间:2010-02-22 13:03:52

标签: c# asp.net asp.net-2.0 asp.net-3.5

我有更新按钮,在将记录保存到数据库后,我正在使用Javascript显示弹出消息,如下所示。

当我不使用Response.Redirect时,Popup工作正常。 但是当我使用Response.Redirect时,Popup没有显示。

任何人都面临同样的问题。请稍微说清楚。

感谢您的帮助。

ScriptManager.RegisterStartupScript(
                this,
                typeof(string),
                "popup",
                "alert('Thank you for visiting the MedInfo website. Your request has been submitted.');",
                true);
            Response.Redirect("Default.aspx");

6 个答案:

答案 0 :(得分:2)

您没有看到该消息的原因是您从此页面导航,因此注入该脚本的页面永远不会被渲染。

答案 1 :(得分:2)

Response.Redirect将控件转移到另一个页面,您的脚本将加载到当前页面中。

参见 Response.Redirect Method

删除response.redirect方法,然后更改scriptmanager。删除警报消息,而是调用javascript函数。在函数内部,您可以显示警报消息,然后在下一行写入

document.location = "Default.aspx";

答案 2 :(得分:2)

在功能show message中创建一个js函数,然后导航到页面

服务器端

ScriptManager.RegisterStartupScript(this, this.GetType(), "key", "ShowMessage()", true);

JS

function ShowMessage()
{
      alert('your message');
      window.location.href='default.aspx';
}

答案 3 :(得分:2)

ScriptManager.RegisterStartupScript(
                this,
                typeof(string),
                "popup",
                "alert('Thank you for visiting the MedInfo website. Your request has been submitted.')" + "location.href='Default.aspx';",true);

答案 4 :(得分:1)

如前所述,Response.Redirect中断当前页面执行并将控制权转移到另一页面。如果要在重定向后显示消息框,请在您重定向的页面的Page_Load事件处理程序例程中注册javascript代码。

答案 5 :(得分:1)

不要做服务器端,而是尝试在客户端执行此操作。将window.top.location ="Default.aspx"添加到您的JavaScript代码