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

求教诸位window.showModelessDialog 和 Response.Write()的问题
如果我用   window.open()   在javascript   中打开一个窗口,我在服务端的代码:
protected   void   bt1_onclick(object   sender,   EventArgs   e)
{
    Session[ "modelcode "]   =   "aa ";

        StringBuilder   sbJScript   =   new   StringBuilder();
        sbJScript.Append( " <script   language=javascript> ")
            .Append( "   window.close(); ")
            .Append( " </script> ");

        Response.Write(sbJScript.ToString());
}
运行正常(把   某些内容放到session中然后关闭窗口),
但是如果我用window.showModelessDialog()   打开一个窗口,同样的代码就不工作了,那位知道如何解决这个问题?

------解决方案--------------------
1. 缓存的问题. 2.是不是开了个新窗口,如果是在 <head> 中加入 <base target= "_sel ">
------解决方案--------------------
showmodaldialog 和showmodelessdialog 都会出现丢失session现象,所以正确而又可靠的方法是不用session而用隐藏域传递参数值.

------解决方案--------------------
<base target= "_self "/>
<meta http-equiv= "Expires " content= "0 " >
<meta http-equiv= "Cache-Control " content= "no-cache " >
<meta http-equiv= "Pragma " content= "no-cache " >
在aspx文件里加上这个就行了。