2011-11-29 49 views
0

Iam在asp.net中使用Devexpress aspxgridview控件。我想在aspxgridview_row更新事件上重新加載頁面。我想在aspxgridview rowupdating事件上重新加載頁面

我試了response.redirect(「」);但它顯示/Response.Redirect不能在頁面調用中調用。因此,什麼是在rowupdating事件上重新加載頁面的正確方法。

注意: Iam在gridview中使用gridview(mastergrid和mastergrid的detailrow中的gridview)。現在我想重新加載detailgridview的row_updating事件上的頁面。

回答

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

+0

它顯示JSproperties亙古不變的存在於 –

+0

你可能在頁面中定義事件處理當前上下文。我改變了答案以滿足您的需求。嘗試更新代碼。 – Filip