2013-11-27 50 views
1

我有一個ListView 100行。如何處理大型ASP.NET列表視圖

每一行代表一個客戶,並有多個按鈕。

有關打開個人日期按鈕打開面板,客戶訂單面板例如按鈕.......

假設我們有每行約10個按鈕。每個按鈕與他的面板。 現在,請告訴我如何處理這種情況。

  1. 與他的面板的每一行。

    protected void lst_ItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
        switch (e.CommandName) 
        { 
         case "commandname": 
         { 
          Panel pnl_= (Panel)lst_adverts.Items[e.Item.DataItemIndex].FindControl("idpanel"); 
          pnl_= false; 
          break; 
         }  
        } 
    } 
    
  2. 其中單面板中的所有行

    protected void lst_ItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
        switch (e.CommandName) 
        { 
         case "commandname": 
         { 
          pnl_.Visible = false; 
          break; 
         } 
        } 
    } 
    

我問是因爲我想減少頁面的大小。

哪種方法更好?

回答

1

顯然,在頁面標記中使用一個面板而不是100個面板會變得更小。

只要您不希望一次能夠顯示多個面板,我相信是這種情況,那麼請使用選項#2 - 所有行的單個面板。

您可能希望使用模式彈出式窗口而不是面板進行調查,例如jQueryUI DialogASP.NET AJAX ModalPopupExtender

+0

感謝您的諮詢!我一定會研究模態彈出。 – POIR

+0

對不起,但我不得不問一個關於這100個面板的愚蠢問題。所有這些面板都有Visible ='false'。只有在按鈕上點擊一個面板纔會顯示Visible ='true'。所以具有Visible ='false'屬性的元素會影響頁面大小? – POIR

+0

@Otix - 在運行時,是的,如果你使99個面板不可見並且只有一個可見,那麼呈現的HTML的大小將不會比在模式彈出框中使用單個面板大。但是從開發的角度來看,由於所有這些面板在將HTML呈現給瀏覽器之前都需要隱藏,因此您的設計器標記將變得相當大。所以如果在這種情況下輸出大小是重要的,那麼在運行時將100個面板隱藏起來,其中99個面板隱藏起來,那麼這不會有什麼區別。但從維護的角度來看,維護100個面板比1更困難。 –