当前位置:编程学习 > C#/ASP.NET >>

后台执行alert,经过调试,执行到那了,为什么就不弹出窗口?

 if (i != 1)
{
   MessageBox.Show(this, "提交健康日志失败");
}
 else
{       
   Response.Write("<script language=javascript>window.alert('提交健康日志失败');</script>");
   title.Text = "";
   text.Text = "";
   Response.Redirect("jkrz.aspx");
}


经过调试else里面的都执行了,但是alert就是弹出窗口,请教下为什么? --------------------编程问答-------------------- pageload中加入  
If Not Page.IsPostBack Then
if (i != 1)
{
  MessageBox.Show(this, "提交健康日志失败");
}
 else
{   
  Response.Write("<script language=javascript>window.alert('提交健康日志失败');</script>");
  title.Text = "";
  text.Text = "";
  Response.Redirect("jkrz.aspx");
}


End If --------------------编程问答--------------------
  Response.Redirect("jkrz.aspx");相当于跳到jkrz.aspx,所以不会出现


应该把else后面改为
Response.Write("<script language=javascript>window.alert('提交健康日志失败');location.href='jkrz.aspx';</script>"); --------------------编程问答-------------------- 自己已经在后台直接跳转了: Response.Redirect
所以返回给客户端的html并不是这个aspx生成的,而是直接返回jkrz.aspx生成的html。
最简单的改法就是
Response.Write("<script language=javascript>window.alert('提交健康日志失败');this.location='jkrz.aspx';</script>");
不要Response.Redirect("jkrz.aspx"); --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼  的回复:
  Response.Redirect("jkrz.aspx");相当于跳到jkrz.aspx,所以不会出现


应该把else后面改为
Response.Write("<script language=javascript>window.alert('提交健康日志失败');location.href='jkrz.aspx';</script>");

效果应该和你要的一样啊!
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,