2010-04-30 7 views
0

Je n'arrive pas à traiter une zone de liste après en avoir sélectionné certains éléments. Dans mon balisage, la zone de liste est contenue dans un panneau asp: et est remplie pendant le chargement de la page dans le codebehind. Cette partie fonctionne bien.ASP.Net Les sélections ListBox ne fonctionnent pas dans Panel?

C'est quand je sélectionne divers articles et soumets que j'ai des problèmes. Mon gestionnaire parcourt les éléments de la liste, mais ne les voit pas sélectionnés. Je ne suis pas sûr pourquoi.

Voici le balisage:

  <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> 

Dans mon gestionnaire btnUpdate_OnClick Je ne vois aucun élément de listbox qui sont marqués comme sélectionnés. Je suppose que quelque chose d'étrange se passe en ce qui concerne la publication et le panel?

Répondre

1

Je suis d'accord, il est très probablement un problème de postback. Assurez-vous que le code qui remplit la liste est enveloppé dans quelque chose comme ceci:

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

... est renseigné lors du chargement de la page dans le codebehind

Est-ce enveloppées dans une IsPostback conditionnelle? Sinon, vous écrasez simplement les valeurs renvoyées.

`OnLoad = "lstFundList_LoadData"

Vous pouvez vérifier cette méthode trop ....

0

Merci à tous. Effectivement, il s'est avéré être un problème IsPostBack. Il est utilisé dans toutes nos pages (et sans aucun doute le vôtre) et est devenu une sorte de bruit de fond, et je l'ai simplement manqué ici.

Questions connexes