【发布时间】:2016-04-06 16:10:20
【问题描述】:
我有一个多用户应用程序,当其中一个用户将应用程序变量的状态更改为 true 时,我需要刷新更新面板。
最好的方法是什么?
我尝试过使用计时器,但是在计时器滴答声中,所有页面都被回发了。
谢谢
-------编辑--------
感谢您的建议,我会尝试更好地解释我的问题。
我有一个大数据库,显示在绑定的网格视图中。大多数用户只读取数据,但有人可以编辑。更改立即显示给所有看到 GridView 的用户是非常重要的。我发现的最佳解决方案是定义一个应用程序变量,并且正在编辑的用户将此变量设置为 true。只有当应用程序变量为真时,所有其他用户才更新 GridView,否则他们什么都不做。
这是一个好的解决方案吗?
当应用程序变量更改其状态时,更新 GridView 的更好方法是什么?
【问题讨论】:
-
如果没有具体的问题示例,我能提供的最好的方法是:除非您的事件处理逻辑与您的期望相冲突,否则更新面板确实应该“正常工作”。 Webforms 旨在呈现回发到服务器页面模型事件的完整表单。更新面板的目的是减少客户端和服务器之间的 http 数据量,并消除客户端上的整页刷新。更好的方法是对 web 服务的 js ajax 调用。
-
确保所有会话都可以访问应用程序变量更改。尝试将其设为全局变量。看到这个答案:stackoverflow.com/a/4174604/2549384
-
@Don 感谢您的建议,这有助于我改进我的应用程序变量定义。
-
@Don 我的问题有点不同:当应用程序变量更改状态时,我不知道如何更新包含 gridview 的 UpdatePanel。请查看我在问题中的编辑...
-
您还在为这个问题寻找解决方案吗?
标签: javascript c# asp.net vb.net webforms