这是一段我修改密码的方法,ChangePassword(strEmpID,strNewPassword)是个函数如果执行成功就返回true,我修改密码成功以后,就直接Response.Redirect("123.aspx",false);转向了。而没有弹出“修改密码成功!”的对话框!我去数据库看了密码已经修改成功,而且也转向了,但是就是不弹出对话框!!!!这到底为什么啊???????这段代码也没错啊?????Response.Write("<script language=javascript>");
Response.Write("window.alert('修改密码成功!')");
Response.Write("</script>");
 
这段代码就是不执行!private void btnOK_Click(object sender, System.EventArgs e)
{
    if(ChangePassword(strEmpID,strNewPassword)==true)
{
Response.Write("<script language=javascript>");
Response.Write("window.alert('修改密码成功!')");
Response.Write("</script>"); Response.Redirect("123.aspx",false); }
else
{
Response.Write("<script language=javascript>");
Response.Write("window.alert('修改密码失败!')");
Response.Write("</script>");
}
}

解决方案 »

  1.   

    话框被123.aspx给覆盖掉了。去掉Response.Redirect("123.aspx",false)试验一下。
      

  2.   

    ASP.NET和ASP一样先执行服务器代码的
    全执行完再执行客户端的啊,JS属于在客户端执行的,还没来得及执已经执行Response.Redirect("123.aspx",false);这个了,所以跳转了,没弹出窗口.
    修改:
    Response.Write("<script language=javascript>");
    Response.Write("window.alert('修改密码成功!')");
    Response.Write("location.href='123.aspx'");
    Response.Write("</script>");
      

  3.   

    不要在服务器端转向,在客户端代码里转就行了.
    Response.Write("<script language=javascript>");
    Response.Write("window.alert('修改密码失败!')");
    Response.Write("location='123.aspx'"));
    Response.Write("</script>");
      

  4.   

    Response.Write("<script language=javascript>");
    Response.Write("window.alert('修改密码成功!')");
    Response.Write("window.location.href='123.aspx'");
    Response.Write("</script>");
      

  5.   

    lincai(Share赖-_-#) 的正解,楼主应该再学习一下asp.net页面的执行过程。
      

  6.   

    呵呵,有机会还是多用javascripte的好
      

  7.   

    你的问题其实很简单,是你在alert函数后少用了一个“;”号,你试一试:
    Response.Write("window.alert('修改密码成功!');");