ASP:ListBox - pas d'éléments sélectionnés sur la publication?
J'ai le balisage suivant:
<tr>
<td valign="top" align="left">
<asp:Label ID="Label1" runat="server" Text="Available Roles" />
<br />
<asp:ListBox ID="availableRolesListBox" runat="server" SelectionMode="Multiple" Width="100px" Rows="10" AutoPostBack="false" />
</td>
<td valign="top" align="center">
<br />
<asp:Button ID="addToRole" runat="server" Text="--->" OnClick="addToRole_Click" />
<br />
<asp:Button ID="removeFromRole" runat="server" Text="<---" OnClick="removeFromRole_Click" />
</td>
<td valign="top" align="left">
<asp:Label ID="Label2" runat="server" Text="User In Roles" />
<br />
<asp:ListBox ID="userInRolesListBox" runat="server" SelectionMode="Multiple" Width="100px" Rows="10" AutoPostBack="false" />
</td>
</tr>
Et suivants dans le code-behind:
protected void addToRole_Click(object sender, EventArgs e)
{
//Add user to the selected role...
foreach (ListItem myItem in availableRolesListBox.Items)
{
if (myItem.Selected)
{
Roles.AddUserToRole(userListBox.SelectedItem.Value, myItem.Text);
}
}
Refresh();
}
Lorsque j'entre dans le code-behind absolument aucun élément n'est sélectionné! Que suis-je oublier?
OriginalL'auteur Keith Barrows | 2009-08-10
Vous devez vous connecter pour publier un commentaire.
Vous êtes peut-être reconsolidation du
availableRolesListBox
à chaque fois, au lieu de if(!IsPostback)?Ne vous sentez pas mal - c'est une erreur facile à faire!
Ouais trop facile en effet! Doh!
Habituellement j'ai des contrôles dynamiques, je dois créer sur chaque demande(de sorte qu'ils sont là pour recevoir de publication de valeurs). Dans ce cas, j'ai encore besoin de créer la zone de liste, mais j'avais besoin de le laisser vide(en déplaçant le code qui le remplit !IsPostBack). Merci.
OriginalL'auteur RichardOD
Vous pouvez vérifier un certain nombre de choses.
Vérifier que vous n'êtes PAS le rechargement de la zone de liste après chaque publication. Aussi, vous pouvez vous assurer que vous n'avez pas
ViewStateEnabled="false"
pour un conteneur parent.D'autres que votre code semble que ça devrait être ok, le débogage aurait besoin de plus de code ou de l'information.
OriginalL'auteur Kelsey