现在的位置: 首页 > 综合 > 正文

该死的ie缓存–关于asp.net打开新窗口回传值

2013年02月05日 ⁄ 综合 ⁄ 共 720字 ⁄ 字号 评论关闭

比如:

在一个asp.net页面使用window.showModalDialog()打开新窗口b.aspx

可以写成var ret = window.showModalDialog(“b.aspx”,'_self','scrolling:no;resizable:no;status:no;dialogWidth:550px;dialogHeight:450px;center:1');

 

可是在b.aspx中如果用一个linkbutton按钮点击之后就会在b.aspx窗口外打开一个新的窗口,并在新窗口的地址栏显示:javascript:__dopostback(…);

这个非常可恶,原因是用showModalDialog新打开这个窗口B.ASPX不可以改变窗口的布局,而linkbutton生成的html代码是:

<a href=’javascript:__dopostback(…)’..>…这样它就默认在新窗口中打开,即时在明文规定是他的target=‘_self’他仍然是在窗口打开,我就郁闷。。

我强制加打开方式的代码是:

var hypers = document .getElementsByTagName("a");
   for (i =0 ;i<hypers .length;i++)
   {
       hypers [i].target="_self";
   }

 

这样的代码应该没有问题,但是偏偏就是不好使。无论我更新多少次缓存

最后在网上找到相关文章,可以在head标签中加上<base target="_self" />

这种方法的确好用,加上之后就不会出现那种情况了 , 但是ie6怎么就不好使,更新缓存

重开网页都不能解决。。。

 

最后的最后。突然间自己好使了  郁闷之极

抱歉!评论已关闭.