【发布时间】:2010-12-09 19:04:12
【问题描述】:
我有一个显示带有数据的 RadGrid 的 ASP.NET 页面。它显示成员所属的“组”列表。它显示组名,以及一个编辑和删除按钮。 (页面上还有一个单独的添加按钮)。很标准的东西。
当您单击按钮编辑组时,我们会在 RadWindow 中启动一个新表单。这是一个单独的 ASPX 页面,显示在 RadWindow 中。您可以编辑组的名称,并添加/删除成员。
当您关闭窗口时,您的更改将持久保存到数据库中,然后通过 JavaScript 启动 AJAX 调用。它真正所做的只是重新设置网格的 DataSource(因此我们拾取刚刚保存到数据库中的更改)并调用 Grid.ReBind()。
我遇到的问题是,虽然一切似乎都在执行,但在您刷新页面之前,更改不会出现在网格上。这是因为(我相信)即使我们更改了 Grid DataSource,也不会发生回发,因此不会显示任何新内容。
我可以通过调用一点 JavaScript 魔法来强制刷新页面来“修复”这个问题,这很有效,但是整个页面都会刷新,而且看起来很难看。
我尝试像这样将 RadWindow 添加到 AjaxManagerProxy 中,希望它能够 AJAXify 网格刷新,但事实并非如此。
<telerik:RadAjaxManagerProxy ID="RadProxy1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadWindowManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GridGroups" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
所以...问题是,如何强制网格以 AJAX 方式刷新?不强制刷新整个页面?
【问题讨论】:
-
您是否在 RadWindow 中进行编辑,然后希望在您保存并关闭 RadWindow 时显示更改?
标签: asp.net ajax telerik radgrid