2009-02-24 65 views
0

我有一個名爲TenantList.ascx用戶控件包含從DevExpress的略加修改的GridView(Web.ASPxGridView)。這個控件使回調不會導致回發,這正是我需要的。 我需要做出反應的具體事件是CustomButtonClicked。我在UserControl TenantList.ascx上創建了OnCustomButtonClicked事件,該事件在GridView CustomButtonClicked事件觸發時觸發。ASP.NET AJAX的問題

我有,我用UC頁面上的事件處理程序。當我使用VS進行調試時,我可以看到我進入事件處理程序,正如我所想的那樣。 我的事件處理程序是這樣的:

protected void uc_TenantList_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e) 
    { 
     Tenant tenant = (Tenant)uc_TenantList.GetGridView().GetRow(e.VisibleIndex); 

     switch (e.ButtonID) 
     { 
      case "btn_show": 
       ShowRow(tenant); 
       break; 
      case "btn_edit": 
       EditRow(tenant); 
       break; 
      case "btn_delete": 
       DeleteRow(tenant.Id); 
       break; 
      default: 
       break; 
     } 
    } 

    private void EditRow(Tenant tenant) 
    { 
     uc_TenantDetails.SetTenantData(cBLL.GetTenant(tenant.Id)); 
     UpdatePanel1.Update(); 
    } 

的EditRow函數獲取的調用,用戶控件TenantDetails.ascx得到正確的數據填充。但是UpdatePanel1.Update();沒有更新的面板,其中我TenantDetails用戶控件是

然而,如果我打電話UpdatePanel1.Update();從一個正常的控件註冊到ScriptManager它更新得很好。

 protected void Button1_Click(object sender, EventArgs e) 
     { 
      uc_TenantDetails.SetTenantData(cBLL.GetTenant(17)); 
      UpdatePanel1.Update(); 
     } 

,如果沒有問題的作品...我100%被卡住,沒有什麼可能這裏是該問題的任何想法。

任何建議是值得歡迎的!

乾杯 真正的Napster的 - 在真正的麻煩:)

+0

是與裏面或實際使用腳本管理代理等... – cgreeno 2009-02-24 10:22:33

+0

這是在同一頁上的用戶控件控制控件的頁面上更新面板。 但是,ScriptManager位於此頁面上使用的主頁上。 – 2009-03-04 15:52:18

回答

1

好的解決了這個問題

我需要做什麼是對我的用戶裏面的GridView控件允許回發。 然後將GridView用戶控件放在一個updatepanel中,並將其細節usercontrol保存在另一個updatepanel中。

這樣一切都奏效了。雖然沒有給解決方案留下深刻印象。看起來有點難看。

0

確保您更新面板被設置爲始終更新(沒有條件)。您也可以找到這個文章有用的信息:

http://www.asp.net/AJAX/Documentation/Live/overview/PartialPageRenderingOverview.aspx http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.update.aspx

第一個鏈接給你關於局部頁面呈現的一些歷史,第二個爲您提供有關更新方法的更多信息。

從文檔調用UpdatePanel.Update都會導致更新面板在客戶端上重新渲染調用後,但前提是在UpdatePanel設置爲有條件的更新。如果設置爲始終更新,則應該拋出錯誤。

如果你的更新面板被設置爲總是更新,會不會是它被嵌套在其中具有設置條件的更新模式的另一個UpdatePanel的?