我目前正在使用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