我目前正在使用C#編寫asp.net,我需要顯示一個消息框並確認來自用戶的輸入並重定向到另一個頁面,我的代碼如下所示:Javascript被忽略,因爲Response.Redirect()
protected void Button1_Click(object sender, EventArgs e)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("if (confirm('YES OR NO?')){ /*some javascript code*/ }");
sb.Append("</script>");
Page.RegisterStartupScript("FocusScript", sb.ToString());
Response.Redirect("Default.aspx");
}
這裏問題是直接重定向到下一個頁面而不顯示消息框。 如果我刪除Response.Redirect("Default.aspx");
它顯示消息框成功。我想這裏可能是被Response.Redirect()
具有較高的優先級比javascript
我嘗試使用
sb.Append("if (confirm('YES OR NO?')){ window.location.href = \"Default.aspx"; }\");
,而不是使用Response.Redirect()
但頁面並沒有得到重定向,我應該怎麼做才能解決這個問題呢?
是否Button1的放置的UpdatePanel?如果是這樣,請使用ScriptManager.RegisterStartupScript方法代替 – 2011-06-13 11:20:54
Fyi,它是'type =「text/javascript」'而不是'language =「...」' – ThiefMaster 2011-06-13 11:21:17
檢查你的反斜槓。我認爲它可能是這樣的: sb.Append(「if(confirm('YES or NO?')){window.location.href = \」Default.aspx \「;}」); – Grace 2011-06-13 12:07:09