javascript警报问题

时间:2009-10-17 05:21:46

标签: javascript

在ASP.net C#vs 05上工作。

防止页面刷新时重复记录插入。在按钮事件下我写下了代码

Response.Redirect(Request.Url.ToString(), false);

我还在此事件下使用了javascript警报,在使用上面的代码警报消息后没有显示,从服务器端代码显示消息框?

string message = "Data saved successfully.";
        string s = "<script type=\"text/javascript\">alert('" + message + "');</script>";
        ClientScript.RegisterStartupScript(GetType(), "Alert", s);

2 个答案:

答案 0 :(得分:0)

try{ 
    Response.Redirect(Request.Url.ToString(), false);
}catch(e){
    alert(e.message);
}

答案 1 :(得分:0)

警报对话框可能会显示,但由于页面被重定向,您无法看到它。

您可以在重定向时向查询字符串添加内容。在pageload上查找并在pageload上注入警告javascript,而不是在按钮点击事件中执行此操作。

保存事件结束:

Response.Redirect("/page_you_want_to_redirect_to.aspx" + "?save=success");

在重定向的页面上:

public void Page_Load(object sender, System.EventArgs e)
{
    //...

    if (!Page.IsPostBack && String.Equals(Request.QueryString["save"], "success"))
    {
        string s = "<script type=\"text/javascript\">alert('Data saved successfully.');</script>";
        ClientScript.RegisterStartupScript(GetType(), "SaveAlert", s);
    }

    //...
}

更优雅的解决方案将是异步调用和显示模式对话框。刷新页面不会以这种方式导致回发。您可以通过放入UpdatePanel并使用一些jQuery进行模态对话来轻松完成此任务。