2010-04-30 63 views
0

我在從中選擇一些項目後處理列表框時遇到問題。在我的標記中,列表框包含在一個asp:面板中,並在頁面加載時在代碼隱藏期間填充。這部分工作正常。ASP.Net列表框選擇不能在面板中工作?

這是當我選擇各種項目,並提交,我有麻煩。我的處理程序遍歷列表框項目,但沒有看到任何被選中。我不知道爲什麼。

這裏的標記:

  <asp:Panel ID="panEdit" runat="server" Height="180px" Width="400px" CssClass="ModalWindow"> 
      <table width="100%"> 
      <asp:label runat = "server">Choose your items</asp:label> 

       <tr> 
        <td> 
         <asp:ListBox ID="lstFundList" runat="server" SelectionMode="Multiple" OnLoad="lstFundList_LoadData"> 

         </asp:ListBox> 
        </td> 
       </tr> 
      </table> 

      <asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_OnClick"/> 
      <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClientClick="$find('ModalPopupExtender1').hide(); return false;" /> 

      </asp:Panel> 

在我btnUpdate_OnClick處理程序我看不到作爲所選的任何標記列表框項目。我認爲回發和麪板方面正在發生一些奇怪的事情?

回答

1

我同意,這是最有可能的回傳問題。確保填充列表框的代碼被包裝在這樣的東西中:

if (!Page.IsPostBack) 
{ 
    // populate your list 
} 
1

...在代碼隱藏

頁面加載過程中填充的是包裹在IsPostback條件?如果沒有,那麼你只是覆蓋返回的值。

'的OnLoad = 「lstFundList_LoadData」

您可能要檢查方法太....

0

謝謝大家。果然,事實證明這是一個IsPostBack問題。它被用於我們所有的頁面(毫無疑問是你的),並且已經成爲一種背景噪音,而我在這裏只是錯過了它。