单击按钮时出现JavaScript警报问题

时间:2011-05-04 10:49:18

标签: c# javascript asp.net

我遇到了一些问题。我有以下代码:

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,因为这是我功能的一部分。

2 个答案:

答案 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警报,然后重定向到另一个页面?