有一个母页面A ,在其tabPanel中动态加载包含了子页面C,点击A页面本身的按钮,弹出D页面,D保存提交后,D关闭,A刷新,但是现在由于viewState将数据保存了,所以回调的时候,A的本身值没有变,子页面C的值刷新了,这样我再点击C中的保存按钮时就会出错,除非关掉页面,再打开A,这样就会正常显示再提交就没错了,请问是否有解决办法能够在回调的时候全部刷新
我的加载和弹出方法,如下:
加载:
UserControl uc = (UserControl)LoadControl(ucUrl_display); uc.ID = "ucProjectDisp"; tab.Controls.Add(uc);
弹出: js实现的
function SubmitReview(s) { Dev.Dialog.Open( { control: popu, url: "/submit.aspx?project_no="+s, title: "提交", callback: CloseDialog }) ; }
太复杂了呀,没太看懂,不过我想只要禁用某viewState就行了吧
能禁用就好了,禁用了,没法回调信息了
在每次回调时检查在其它页面上已更改的信息(一般已更改的信息都会放到数据库),后更新就行了。
现在是这样 当B点击了保存,再点击模板A去调出弹窗C,C在做动作时,页面会出现 “要出现此页面,IE必须发送会导致重复之前动作的数据”,这样除非关闭页面重开不然,B的保存数据动作会再执行一次....
@风醉飘: 好像加个时间戳就可以了。
@clcvc: 加个时间戳是解决页面缓存问题的,就是URL相同时没有真正提交.
A刷新的时候,ViewState是会重新初始化的。所以你的这个问题,不应该是ViewState的问题,最好贴下你的CloseDailog的实现。
可选择操作:在刷新页面的时候,带上一个随机数,防止缓存~