日期:2014-05-18  浏览次数:20407 次

关于提示框的一个问题。
private void Page_Load(object sender, System.EventArgs e)
{
string ouputfileurl = Server.MapPath("bin/Release")+"/"+"Schedule.xml";
if (System.IO.File.Exists(ouputfileurl))
Response.Write("<script language = 'javascript'>alert('Optimized Sucessfully‘);</script>") ;
if (System.IO.File.Exists(ouputfileurl))
Response.Redirect("./demo.aspx");
}
我有以上的一段程序,希望得到的结果是:当Schedule.xml文件存在的时候,我先弹出一个框框提示Optimized Sucessfully,然后再转到demo.aspx页面。

但是事实上程序根本就没有弹出任何框框就直接转到demo.aspx页面去了,请问这是问什么? 为什么Response.Write("<script language = 'javascript'>alert('Optimized Sucessfully‘);</script>") ;这一句程序没有执行? 谢谢指点!

------解决方案--------------------
你试试在Response.Write(" <script language = 'javascript'>alert('Optimized Sucessfully‘); </script>") ; 这句后加Response.End();页面应该会弹出对话框,但不会转向
你在Page的Load过程中Response.Write(脚本),Load之后是PreRender->Render->HTML发送到浏览器,但是Load完成之前你用了转向,上面的脚本都没发送到客户端浏览器,肯定不会执行
如果你要这样写,还是在alert之后用脚本转向吧