【问题标题】:Telerik's RadAjaxManager: all user controls are refreshedTelerik 的 RadAjaxManager:刷新所有用户控件
【发布时间】: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


【解决方案1】:

您为什么不尝试在您的用户控件周围使用 RadAjaxPanel,或者您也可以在用户控件页面上使用 RadAjaxManagerProxy,它会回发您的控件本身。

【讨论】:

  • 谢谢,就是这样。在整个应用程序中,我们都使用 Asp:Panel,它运行良好,但在这里不行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 2011-03-29
  • 2011-04-21
  • 1970-01-01
  • 2011-06-22
  • 2011-02-02
  • 1970-01-01
相关资源
最近更新 更多