日期:2014-05-19  浏览次数:20471 次

如何在数据发生变化时,使gridview自动更新?
当我们在使用detailView和gridview   联动时,在数据插入后就有这样的效果,不知是用了哪个事件?


------解决方案--------------------
这个不是那个事件可以实现的问题,而是你需要每隔一段时间去轮训一次,这服务器的压力会增加;
------解决方案--------------------
基本不能实现。服务器不能主动向客户端发送信息
------解决方案--------------------
当我们在使用detailView和gridview 联动时,在数据插入后就有这样的效果,不知是用了哪个事件?
——————————————————————————————————————————
那些控件(包括TreeView)自动使用了ICallbackEventHandler,客户端回调。你可以google一下着方面的编程方法。

当刷新内容时,如果你在控件的相应属性设置正确,好几个asp.net2.0新发明的控件都可以自动使用客户端回调方式(而不是页面回发方式)刷新局部界面。

客户端回调技术是ajax的基本形式,但是维护复杂的控件状态比较费劲。asp.net ajax也是一种比较高级的ajax,原来的使用回发方式编写的程序可以很方便地变成ajax的。如果提前一年发布asp.net ajax,那么asp.net2.0中估计也就不会有客户端回掉技术了。现在只有个别asp.net2.0新的控件使用了客户端回调技术。既然asp.net2.0包括了客户端回调技术,你自己开发的时候就可以用,例如你可以给自己的一个用户控件在原来的UserControl父类旁边再声明使用ICallBackEventHandler接口来做到局部刷新屏幕。
------解决方案--------------------
http://www.google.com/search?q=asp.net+%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9B%9E%E8%B0%83&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8

以上搜索结果应该有不少编程例子。

GridView等控件既实现回发接口又实现回调接口。当输出html的时候,如果发现条件合适,对相应的相应的功能就输出客户端回调的javascript,否则就会输出回发的javascript。

你自己完全可以编写使用回调的页面和控件。

不过,说实在的,回调应该废弃,难以深入应用到复杂的功能。使用asp.net ajax能做更多的事情。
------解决方案--------------------
只要去请求一次都能实现
------解决方案--------------------
原本在插入数据的时候整个页面就刷新了,如果你了解GridView就知道,再page_load结束之前总是需要重新绑定数据。所以GridView其实总是需要刷新的。只不过ajax让刷新看起来是再后台进行的,界面很少改变。
------解决方案--------------------
insert 后刷新一下页面,重新绑定一下gridview就可.
------解决方案--------------------
重新绑定了么?
------解决方案--------------------

<script>
settimeout( "callserver() ",1000)
</script>


------解决方案--------------------
楼上的是各一秒刷新一次啊,这样不是给服务器加负荷吗
------解决方案--------------------
做个定时刷新 试试看能满足需求不?