2009-10-17 145 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模式對話框來輕鬆完成此操作。