2012-03-28 62 views
0

我正在使用基於用戶選擇動態生成的gridviews填充一個Asp:Panel。隨着用戶更改選擇標準和日期,面板將根據搜索條件顯示新的網格視圖。我正在做MyPanel.Controls.Clear(),但gridviews仍然顯示舊的結果。然後我嘗試了以下,但仍然無用,panle總是顯示第一個結果。ASP.NET - 如何從Asp中刪除動態添加的Gridviews:面板

  foreach (Control c in MyPanel.Controls) 
      { 
       if (c is GridView) 
       { 
        MyPanel.Controls.Remove(c); 
        //Response.Write("**"+c.ID); 
       } 
       // else 
        // Response.Write("##" + c.ID); 

      } 
      Response.Write("cnt=" + MyPanel.Controls.Count); // Always showing as 1 even when the count is greater than 1. 

任何想法如何我可以每次清理面板之前,我嘗試填充新的結果作爲gridviews面板?

射線..

回答

-1

爲什麼要生成面板每次做一個或兩個面板,你需要的,只是更改其內容或設置可見隱藏真或假,你需要創建面板中的每個時間是不是一個好方法。

+0

我沒有在運行時生成asp:面板,我只是在運行時將控件添加到靜態面板。面板根據用戶輸入的搜索結果填充。所以當結果發生變化時,在按鈕上單擊我想在填充新面板之前清除面板中的所有控件。我添加的控件只有gridviews。 – ray 2012-03-29 08:44:26

+0

您正在以錯誤的方式執行此操作,因此無需在運行時聲明面板。 – 2012-03-29 09:23:36

+0

我不是在運行時聲明面板。面板在aspx頁面中定義。我只是從後面的代碼動態地將控件像gridview添加到面板。 – ray 2012-03-29 10:23:53