日期:2014-05-17  浏览次数:20583 次

请问如何打开一个新的页面而下面的代码暂不执行啊?急!急!急!急!
当我点击按钮时候执行这句话
C# code

BasePage.OpenWebFormSize("v_ChoosePage.aspx", 255, 540, 250, 300);
        Label1.Text = Session["FormID"].ToString();


OpenWebFormSize的代码为:
C# code

 string js = @"<Script language='JavaScript'>window.open('" + url + @"','','height=" + heigth + ",width=" + width + ",top=" + top + ",left=" + left + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');</Script>";

            HttpContext.Current.Response.Write(js);


可是现在关键在于我还没有打开我需要的页面,就运行到 Label1.Text = Session["FormID"].ToString();
然后报错,如何解决啊?

------解决方案--------------------
报什么错?
------解决方案--------------------
服务器端代码是先运行的,执行完毕才发送到客户端
当然是执行完
= Session["FormID"].ToString();
才会发送内容到客户端的
------解决方案--------------------
Label1.Text = Session["FormID"].ToString();
应该改成
 Label1.Text = Session["FormID"]==null?"": Session["FormID"].ToString();
------解决方案--------------------
孟子大师分析的很好,就是这个问题。
服务端执行完毕后,你输出的这段js才会发送到客户端。所以Session["FormID"]是获取不到的,为空就对了