我在asp.net中使用Devexpress aspxgridview控件。我想在aspxgridview_row更新事件上重新加载页面。
我尝试了response.redirect(“”);但它显示/Response.Redirect无法在Page回调中调用./
那么,在rowupdating事件上重新加载页面的正确方法是什么。
注意: 我在gridview中使用gridview(在mastergrid的详细信息中使用mastergrid和gridview)。现在我想在detailgridview的row_updating事件上重新加载页面。
答案 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