2010-02-22 27 views
1

我有更新按鈕,並將記錄保存到數據庫後,我使用JavaScript顯示彈出消息如下。當我們在ASP.NET頁面上使用Response.Redirect時,Javascript popup Messagebox不工作?

當我不使用Response.Redirect時,Popup工作正常。 但是,當我使用Response.Redirect,彈出不顯示。

任何人都面臨同樣的問題。請拋出一些光。

感謝您的幫助。

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

我有什麼辦法你正在更新表中的值?我的意思是POSTBACK或AJAX? – 2010-02-22 13:57:55

回答

2

創建一個js函數,函數顯示的消息,然後導航到該頁面

服務器端

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

JS

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

您看不到消息的原因是您從此頁導航,因此注入此腳本的頁面無法呈現。

+0

那麼,分辨率是多少?我如何顯示消息? – Rita 2010-02-22 13:25:53

+0

不要以爲你可以用這種方法實現。我會使用Page.ClientScript.RegisterOnSubmitStatement(this,typeof(string),「popup」,「alert('感謝您訪問MedInfo網站,您的請求已被提交。');」,true);在你的頁面加載,所以它會運行時,你點擊你的按鈕 – Victor 2010-02-23 02:24:50

2

Response.Redirect將控件轉移到另一個頁面,並且腳本加載到當前頁面。

參見Response.Redirect Method

卸下Response.Redirect方法,然後改變的ScriptManager。刪除警報消息,而是調用一個javascript函數。在函數內部可以顯示警告消息,然後在下一行寫

document.location = "Default.aspx"; 
+0

嗯....想知道什麼是替代? – Rita 2010-02-22 13:27:35

1

正如前面提到的,Response.Redirect中斷當前頁面的執行,並將控制轉移到另一頁。如果您想在重定向後顯示消息框,請在您要重定向的頁面的Page_Load事件處理程序例程中註冊您的JavaScript代碼。

1

而不是做一個服務器端,嘗試在客戶端做。添加window.top.location ="Default.aspx"到你的JavaScript代碼

+0

謝謝拉姆。我會試試這個。 – Rita 2010-02-22 13:31:09

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

不錯的答案兄弟。 :) +1 – SagarPPanchal 2014-02-26 12:32:43

相關問題