2014-02-23 115 views
0

我想通過「ScriptManager.RegisterStartupScript」顯示一條消息,然後重定向到另一個頁面,但問題是我真的需要在這裏使用「Response.Redirect」,而不是任何其他代碼去該其他頁面,這將取消scriptManager ...在Response.Redirect之前顯示ScriptManager.RegisterStartupScript

有沒有辦法解決這個問題,而不改變「Response.Redirect」部分?

我使用下面的代碼:

ScriptManager.RegisterStartupScript(this, this.GetType(), "alertMessage", "alert('my message')", true); 
Response.Redirect("DropDownMenu.aspx"); 

回答

2

如果你只是想將用戶重定向到下一個頁面,然後你爲什麼不把這個代碼在JavaScript本身並使用window.location像這樣

重定向
string scriptText = "alert('my message'); window.location='" + Request.ApplicationPath + "dropdownmenu.aspx'"; 
ScriptManager.RegisterStartupScript(this, this.GetType(), "alertMessage", scriptText, true); 
+0

我不能使用JavaScript來這裏要到另一個網頁...我真的需要它是服務器端...感謝儘管 – NikiUsefi

+0

任何具體的原因是什麼? – Sachin

+0

我正在使用這部分處理半遞歸代碼中的異常,所以如果我使用javascript轉到另一頁代碼繼續執行直到結束,我不能使用「break」來阻止它們 – NikiUsefi

1

,如果你想點擊提示信息後重定向到下一個頁面,你可以使用javascript,而不是使用Response.Redirect()

試試這個:

ScriptManager.RegisterStartupScript(this,this.GetType(),"alertMessage", 
    "alert('my message'); window.location='" + 
    Request.ApplicationPath + "DropDownMenu.aspx';",true);