【发布时间】:2012-03-28 11:09:59
【问题描述】:
我正在使用 Telerik 的 RadAjaxManager 独立更新面板。
在我的页面上,我有 3 个用户控件:A、B、C。
我的 Ajax 设置是:
- 如果在 A 上回发,则仅更新 A。
- 如果在 B 上回发,则仅更新 B。
- 我没有为 C 声明任何内容。
如果我在 A 上进行回发,我会在 A 上看到加载面板,但是(使用 Chrome 开发工具)我看到为 A 和 B 发送的数据。对我来说很奇怪,因为在我执行操作时只有 A 具有可见的加载面板。
如果我在 B 上做回发,同样的行为:在 B 上加载面板,但在 A 和 B 上加载数据。
现在,如果我从 AjaxSettings 中删除 B 的设置,当我对 A 进行回发时,只会发送 A 的数据。
我错了,还是我应该只看到 AjaxSettings 中定义的“目标”面板的数据?
此外,有时在我们的用户控件中,我们访问 RadAjaxManager 以添加响应脚本。可以相关吗?例如,如果在 B 的代码隐藏中我将脚本添加到 RadAjaxManager,当我对 A 进行回发时,是否会发送整个 B 内容(规则 A 仅更新 A)?
这确实是我们应用程序中的一个问题。
【问题讨论】:
-
可能想直接与 Telerik 联系,但我相信 RadAjaxManager 会在其范围内承载整个页面。因此,它并不是真正进行部分回发——而是整个页面,每次只刷新基于 AjaxSettings 元素的“不同”内容。我们在更新 > 1 个网格时遇到了类似的问题,最终我们做了一些后端魔法来减少发送的数据量,并为这些控件禁用 ViewState。
标签: ajax user-controls telerik postback radajaxmanager