非常弱智的问题
我在WebForm1中的HTML中设置输出缓存
<%@OutputCache Duration= "10 " VaryByParam= "None "%>
然后在Button单击事件中
Response.Redirect( "WebForm2.aspx ");
运行后单击Button转向WebForm2
但是运行后只要调用其他方法后,单击Button的方法就不好用了
必须等到Duration的时间结束后才好用,不知道为什么
谁能解答下?
------解决方案--------------------Response.Redirect( "WebForm2.aspx ");
是由服务器执行...
location.href由客户端执行...
所以你应该改用js:location.href
------解决方案--------------------javascript 控制
------解决方案--------------------因为你用了页面缓存,当你先调用其它的方法后,这时页面运行的结果已经存在缓存中了,在缓存结束前,你点击按钮请求页面,服务器不会给你重新执行页面代码,他是从缓存中取给你的,所以你点了按钮后不起作了。要想跳转,就象楼上所说的,不要用Response.Redirect( "WebForm2.aspx "); 改用客户端的跳转 <script language=javascript> location.href = "WebForm2.aspx "; </script>
------解决方案--------------------在Page_Load里
Button1.Attributes.Add( "onclick ", " <script type= 'text/javascript '> location.href = "WebForm2.aspx "; </script> ");