ASP.NET AJAX RC1(疑似缺陷)及URL重写及浏览器缓存三个凑到一
点击次数:25 次 发布日期:2008-11-26 11:33:56 作者:源代码网
|
源代码网推荐 源代码网推荐 <!--Ajax脚本管理器--> 源代码网推荐 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 源代码网推荐 <script type="text/javascript"> 源代码网推荐 Sys.Application.add_load(function() 源代码网推荐 { 源代码网推荐 var form = Sys.WebForms.PageRequestManager.getInstance()._form; 源代码网推荐 var href = window.location.href; 源代码网推荐 if(href.indexOf("?") > 0) 源代码网推荐 { 源代码网推荐 href += "&a=" + Math.random(); 源代码网推荐 } 源代码网推荐 else 源代码网推荐 { 源代码网推荐 href += "?a=" + Math.random(); 源代码网推荐 } 源代码网推荐 源代码网推荐 form._initialAction = href; 源代码网推荐 form.action = href; 源代码网推荐 }); 源代码网推荐 </script> 源代码网推荐 大家可能注意到了,这段代码给地址加了个随机数,其实是为了解决后面个问题(浏览器缓存冲突)的,不过并没有解决好。。。 源代码网推荐 源代码网推荐 OK,重写冲突解决了,第2个问题又发生了。。。经过推测,我觉得是浏览器缓存的问题,我做了一个tags的添加删除的功能,添加就不用多说了,删除就是在Repeater中放了个ImageButton,通过他的click事件,使用CommandName把当前tag传回去并删除掉,这时候问题出现了,当我添加多个tag后,点其中一个删除,updatepanel中的tags列表返回了添加第1个之前的状态,于是我很怀疑是浏览器缓存的问题,我又很傻的在server代码中加入了 Response.Cache.SetNoStore(); 源代码网推荐 Response.Cache.SetLastModified(DateTime.Now);希望可以解决问题,但事实上根本没用,呵呵,于是我又通过上面那段js代码,在赋予form._initialAction的时候给url的最后加了一个随机数,结果还是无效。。。猜想问题估计是出现在这个随机数并没有每次得到效果,但我又真是没时间去深入的理解asp.net ajax的原理,所以希望知道此问题如何解决的哥们先帮兄弟解决一下,小地回头再去研究。 源代码网推荐 http://www.cnblogs.com/cnlamar/archive/2007/01/08/614671.html 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
