我遇到了一些问题。我有以下代码:
if (GetSelectedUsers().Count() > 0) {
string script = "alert('not show this message');";
System.Web.UI.ScriptManager.RegisterClientScriptBlock(btnActivateDeactivate, this.GetType(), "Test", script, true);
Response.Redirect("FUserManagement.aspx");
} else {
string script = "alert('This Message works');";
System.Web.UI.ScriptManager.RegisterClientScriptBlock(btnActivateDeactivate, this.GetType(), "Test", script, true);
}
第二条消息有效,但第一条消息不起作用。我是ASP.NET的新手。你能帮忙归档这类功能吗?问题似乎出现在Response.Redirect
方法中。当我发表评论时,一切正常,但我不能删除Response.Redirect
,因为这是我功能的一部分。
答案 0 :(得分:3)
这是因为后续调用HttpResponse.Redirect会停止处理当前请求,并向302 Moved temporarily
发送一个空响应正文。
如果您想要关闭框后显示警告框并将用户重定向到另一个页面,那么您可以尝试执行以下操作:
Response.Clear();
Response.Write("<script>alert('You will be now redirected.'); location.href = 'FUserManagement.aspx';</script>");
答案 1 :(得分:1)
第一条消息将不会显示,因为您正在将脚本写入页面,然后在将其发送到浏览器之前重定向到其他页面。
你想要达到什么目的?显示JS警报,然后重定向到另一个页面?