我想在aspxgridview rowupdating事件上重新加载页面

时间:2011-11-29 11:15:04

标签: asp.net devexpress aspxgridview

我在asp.net中使用Devexpress aspxgridview控件。我想在aspxgridview_row更新事件上重新加载页面。

我尝试了response.redirect(“”);但它显示/Response.Redirect无法在Page回调中调用./

那么,在rowupdating事件上重新加载页面的正确方法是什么。

注意: 我在gridview中使用gridview(在mastergrid的详细信息中使用mastergrid和gridview)。现在我想在detailgridview的row_updating事件上重新加载页面。

2 个答案:

答案 0 :(得分:1)

如果ASPxGridView ASPxGridView.EnableCallBacks属性设置为true,则您无法使用Response.Redirect.

在处理Url时,使用ASPxWebControl.RedirectOnCallback方法将网页重定向到另一个callback

ASPxWebControl.RedirectOnCallback("url");

答案 1 :(得分:0)

如果要重新加载完整页面,可以像这样设置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