我目前正在使用 C# 开发 asp.net,我需要显示一个消息框并确认用户的输入并重定向到另一个页面,我的代码是这样的:
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()
但页面没有被重定向,我应该怎么做才能解决这个问题?
最佳答案
你绝对需要在服务器端处理这个吗?事实上,这就是一件非常简单的事情变得令人困惑的地方。
例如,如果您可以使用 Javascript/jQuery 处理它,您可以做一些简单的事情,例如:
$('#Button1').click(function(){
if (confirm("Yes or No?")){
window.location = "/default.aspx";
}
});
关于c# - Javascript 由于 Response.Redirect() 而被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6329659/