Je crée une liste de coasser dans un fichier de classe et j'utilise un HTMLTextWriter pour rendre le contrôle.
J'utilise le code suivant pour stocker les valeurs sélectionnées dans une chaîne: p> J'ai emprunté le code et il ne semble pas frapper l'intérieur de La déclaration IF et l'attribut de valeur sélectionnée sont fausses à chaque fois ... Tout le monde a une idée de la façon dont je peux résoudre ce problème? P> Je le peuplie en utilisant les éléments suivants: P> YrChkBox.Items.Add(new ListItem("Item 1", "Item1"));
6 Réponses :
Essayez quelque chose comme ceci:
foreach (ListItem listItem in YrChkBox.Items)
{
if (listItem.Selected)
{
//do some work
}
else
{
//do something else
}
}
@Kraze exactement ce que j'ai en ce moment. Sauf que je l'ai dans une boucle pour la boucle, je l'ai essayé avec votre syntaxe et oui, c'est en fait la même chose mais j'aime votre syntaxe plus, je vais le garder lol +1
Ahh je vois ce que tu dis, oui tu as raison, je ne faisais pas ça. Je souhaite vraiment que cela a aidé si t_t j'ai le même problème .. Je pense que c'est parce que mon bouton n'est pas serveride
Dans votre page ASPX, vous avez la liste comme celle-ci: dans votre code derrière la page ASPX.CS, vous avez ceci: p> Assurez-vous d'utiliser le si (! ispostback) {} code> car si vous le chargez chaque page actualisée, il détruit réellement les données. P> P>
Je ne l'ai pas dans la marque du tout. Je l'ai dans un écrivain de texte. Donnez-moi une seconde, je collerai mon code pour cette partie.
Ahh je vois ce que vous dites, ajoutez les valeurs sélectionnées à une liste comme elles sont sélectionnées ... Je vais essayer que je suis inquiet de recharger la page à chaque utilisateur sélectionne une case à cocher
Vous pouvez supprimer la pièce Autopostback = "true" de la page ASPX, et elle devrait se comporter de la même manière sur un événement post-retour à partir d'un autre événement tel qu'une touche Presse. C'était juste pour un exemple.
Je ne peux pas sembler ajouter un contrôle côté serveur dans Code-Ber et ajouter le rendu via HTMLTextWriter ... Des idées sur la façon dont je peux le faire. J'ai vraiment besoin de pouvoir récupérer les valeurs sélectionnées de la liste Cochez la case, merci pour votre aide +1
string items = string.Empty;
foreach (ListItem i in CheckBoxList1.Items)
{
if (i.Selected == true)
{
items += i.Text + ",";
}
}
Response.Write("selected items"+ items);
// page.aspx // // page.aspx.cs // p>
// aspx.cs strud>
Un moyen élégant de mettre en œuvre serait de faire une méthode d'extension, comme ceci: i peut ensuite utiliser quelque chose comme celui-ci pour composer une chaîne toutes les valeurs sont toutes des valeurs séparées par "; : p>
Ce code devrait fonctionner .. Quel événement avez-vous ce code placé sous vous aussi yrchkbox.items.count a une valeur ... ??
Sur clic; La réponse à la déclaration si elle semble toujours être fausse. Ceci est dans un fichier de classe cependant, les publications ont-elles quelque chose à voir avec cela?