У меня есть страница ASP.NET, которая отображает RadGrid с данными. Он отображает список «групп», к которым принадлежат участники. Он показывает название группы, а также кнопку «Изменить» и «Удалить». (На странице также есть отдельная кнопка «Добавить»). Довольно стандартные вещи.
Когда вы нажимаете кнопку для редактирования группы, мы запускаем новую форму в RadWindow. Это отдельная страница ASPX, которая отображается в RadWindow. Вы можете редактировать название группы, а также добавлять / удалять участников.
Когда вы закрываете окно, ваши изменения сохраняются в базе данных, а затем вызов AJAX инициируется через JavaScript. Все, что он на самом деле делает - это переустанавливает DataSource сетки (поэтому мы собираем изменения, которые мы только что сохранили в базу данных), а также вызывает Grid.ReBind ().
Проблема, с которой я столкнулся, заключается в том, что, хотя все, кажется, выполняется, изменения не появляются в сетке, пока вы не обновите страницу. Это потому, что (я считаю), что даже если мы изменили источник данных Grid, обратной передачи не происходит, и поэтому ничего нового не отображается.
Мне удалось «исправить» это, вызвав небольшую магию 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-способом? Без принудительного обновления всей страницы?