2011-05-04 55 views
2

我遇到了一些問題。我有以下代碼:按鈕點擊JavaScript按鈕提醒問題

if (GetSelectedUsers().Count() > 0) { 
    string script = "alert('not show this message');"; 
    System.Web.UI.ScriptManager.RegisterClientScriptBlock(btnActivateDeactivate, this.GetType(), "Test", script, true); 
    Response.Redirect("FUserManagement.aspx"); 
} else { 
    string script = "alert('This Message works');"; 
    System.Web.UI.ScriptManager.RegisterClientScriptBlock(btnActivateDeactivate, this.GetType(), "Test", script, true); 
} 

第二條消息有效,但第一條消息不起作用。我是ASP.NET新手。你能幫助歸檔這種類型的功能嗎?問題似乎在Response.Redirect方法中。當我評論它,一切正常,但我不能刪除Response.Redirect,因爲這是我的功能的一部分。

+1

如果使用重定向則不會顯示警告.. 。所以你必須使用另一個邏輯,也許你可以使用Response.Redirect(「FUserManagement.aspx?result = 1」); 然後在FUserManagement的頁面加載中,您可以檢查查詢字符串,如果您找到參數「result」,則可以註冊該警報的腳本。 – 2GDev 2011-05-04 10:54:32

回答

1

第一條消息不會顯示,因爲您正在將腳本寫入頁面,但在發送到瀏覽器之前重定向到其他頁面。

你想達到什麼目的?顯示JS警報,然後重定向到另一個頁面?

3

這是因爲隨後調用HttpResponse.Redirect會停止當前請求的處理,併發送302 Moved temporarily帶有空響應主體。

如果你想顯示一個警告框,將用戶重定向到另一個頁面,他關閉對話框,那麼你可以嘗試做以下後:

Response.Clear(); 
Response.Write("<script>alert('You will be now redirected.'); location.href = 'FUserManagement.aspx';</script>");