asp.net 子页面刷新父页面,且保留父页面的状态

    在子窗体中刷新父窗体时,如果刷新一个已经提交过的页面时,系统总是会提示一个 "重试或取消”的对话框.想把这个对话框给去了.找了很的办法.总结一下.

    一, window.opener.location.reload() 如果改页面没提交过,这个方法好使.但是这个页面一旦提交过后,系统就会提示"重试或取消”的对话框.

    二, window.opener.location = window.opener.location;这个方法肯定不提示,但是有个问题就是分页显示或者父页面提交过的时候,一刷新总是会显示首次进来的状态,也不符合要求。

    三, window.opener.aspnetForm.submit();这个方法也不提示了,这个方法就是自动提交页面,绕开那个烦人提示的界面,但是如果被刷新的页面用到了比如gridwiew控件之类的,里面的数据可能不会随着刷新而发生变化,原因就是gridwiew的数据绑定是在某个控件的事件中进行,而页面是通过submit()提交的,不会触发该控件的事件.可以通过在PageLoad事件中将GridView的数据重新绑定解决.

    四,  window.opener.__doPostBack("Control","");

   其中 Control 是控件ID,这个方法就是克服了三的缺点,不用.opener.form1.submit()这样直接提交.不仅让页面自动提交,而且还要想办法让控件的事件也执行.

   五,window.opener.__doPostBack("","");或者window.opener.aspnet; 这个需要在父页面的PageLoad事件中将gridview的数据重新绑定一下。再加上Page的属性MaintainScrollPositionOnPostback可以很好的满足需求。

转载于:https://www.cnblogs.com/lxydmq/archive/2009/10/30/1592826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值