2009-10-17 113 views
0

在ASP.net C#上工作vs 05.javascript警报问题

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

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); 

回答

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

警报对话框可能显示出来,但你有没有机会看到它,因为页面重定向。

重定向时,您可以在查询字符串中添加内容。在页面加载中查找并在页面加载中注入警报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模式对话框来轻松完成此操作。