日期:2014-05-18  浏览次数:20569 次

showModalDialog与父窗口中gridview刷新的问题
showModalDialog打开的窗口关闭时会运行父窗口的load事件,也就是自动刷新的。前段时间碰到个问题,要求关闭时不允许刷新父窗口,试了很多方法,总算找到个只适用我那个页面的方法。不是用js代码,因为都是asp.net服务器端代码,js不太好实现。

今天遇到个新问题,父窗口里有个gridview,使用SqlDataSource控件绑定数据。页面上还有一个按钮,点击后用showModalDialog打开窗口,在showModalDialog页面中删除了数据源的一条记录,关闭子窗口,但问题是,父窗口的gridview怎么也不刷新。测试了关闭showModalDialog窗口确实运行了父窗口的load事件,在load里手动写上gridview的databind()方法也无效。

请教了!

------解决方案--------------------
你没有理解showModalDialog的运行机制,可参考
http://dotnet.aspx.cc/article/49ml4ao8-5pb3-4kny-njzd-ljoioxv4m1x4/read.aspx
http://blog.csdn.net/net_lover/archive/2002/09/24/6910.aspx
------解决方案--------------------
网页的一次回发都会引发 page_load ,属正常现象.

1. 确定前台 LinkButton1 中 OnClientClick 事件已添加客户端处理(OnClientClick= "window.showModalDialog... ").

2. 把你的 page_load 里写的 GridView_Approve.databind() 去掉,移到 LinkButton1_Click 事件处理方法中.断下 LinkButton1_Click 事件代码看是否被执行.

运行,再试...