Js控制ASPX页面刷新的土办法

 

这样如果在客户端通过调用 javascript 进行页面刷新,知道在 aspx 页面里激发一个事件都需要把页面 Post 服务器。 IE 就会弹出提示框问是否重新提交,但是本意只是想刷新数据显示。怎么办呢,想的方法就是模拟控件激发事件的动作,让 .net 误认为是改变了控件的状态或点击了刷新按钮,让页面 Post 达到刷新数据的作用。

设置此控件的 ID 这里为了改变状态方便拖入的 checkbox 然后在此控件的代码里加上【 style="DISPLA Y: none" 这个属性意在隐藏此控件,       首先拖入一个服务器控件到 aspx 页面。但不能用【 Visible=fals 这样控件就不会加载到客户端了控件的代码如此形式: <asp:checkbox id="chkReload" style="DISPLA Y:none" runat="server" AutoPostBack="True"></asp:checkbox>

       添加客户端 js 代码: CS 页面加入处置此控件的事件代码:这样只要客户端调用 js reload 方法就可以刷新页面了跟我点击刷新按钮的效果一致。没有深入研究不知道有没有更好的方法。

<script language="javascript">

funct reload {

document.Form1.chkReload.check = !document.Form1.chkReload.checked;

'' ;  __doPostBack 'chkReload'.

}

System.EventA rg e </script>priv void chkReload_CheckedChang object sender.

{

            Bind ;

}

如果页面上没有需要实现 autopostback 控件,确实不是所有 aspx 文件解析到客户端后都会添加 __doPostBack 函数。就不会添加 __doPostBack 函数。

并且实现了自定义分页;每一行有一个 “ 编辑 ” 按钮用来弹出一个模态窗口让用户编辑该行数据,俺补充一下:如果在主页面中有一个 DataGrid 用来显示表格状数据。如果在编辑完成后,主窗口调用 window.location.reload 或者类似的刷新操作,则主窗口的 onload 事件会被调用,这时问题呈现了 DataGrid 页码会被回复到第一页,即以前的 ViewStat 不会被保存下来。这时使用楼主说的方法来代替 window.location.reload 就可以达到 DataGrid 页码仍然保留在原来页数的效果了   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值