я хочу перезагрузить страницу при обновлении строки aspxgridview - PullRequest
0 голосов
/ 29 ноября 2011

Я использую элемент управления Devexpress aspxgridview в asp.net.Я хочу перезагрузить страницу при обновлении события aspxgridview_row.

Я попытался response.redirect ("");но он показывает, что /Response.Redirect нельзя вызвать в обратном вызове страницы ./

Итак, каков правильный способ перезагрузить страницу при событии rowupdating.вид сетки (mastergrid и gridview в подробном списке mastergrid).Теперь я хочу перезагрузить страницу при событии row_updating элемента detailgridview.

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Если ASPxGridView ASPxGridView.EnableCallBacks Свойство установлено на true, то вы не можете использовать Response.Redirect.

Использовать ASPxWebControl.RedirectOnCallback Метод для перенаправления страницы надругой Url во время процесса callback.

ASPxWebControl.RedirectOnCallback("url");
0 голосов
/ 29 ноября 2011

Если вы хотите перезагрузить полную страницу, вы можете установить обработчик ClientSideEvents.EndCallback следующим образом:

protected void Grid_RowUpdatingEvent(object sender, ASPxDataUpdatingEventArgs e) 
{
    ASPxGridView grid = (ASPxGridView)sender;
    grid.JSProperties["cp_RefreshPage"] = true;

    grid.ClientSideEvents.EndCallback = 
        @"function(s,e)
        {
            if(s.cp_RefreshPage!=null)
            {
                window.location.replace(window.location.href);
                s.cp_RefreshPage=null;
            }
        };";
}

Если вам нужно обновить обе сетки, а не всю страницу, лучше использовать gridClientInstanceName.Refresh () вместо location.replace.http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewScriptsASPxClientGridView_Refreshtopic

Кроме того, вы можете использовать решение, описанное в этом билете: http://www.devexpress.com/Support/Center/p/S134916.aspx

...