Как получить выбранные значения в списке в asp.net - PullRequest
0 голосов
/ 14 сентября 2011
 foreach (ListItem item in ListBoxMembers.Items)
 {
     if (item.Selected)
     {
         countSelected += 1;
     }

 }   
 for (int counter = 0; counter < countSelected; counter++)
 {
    string firstName = ListBoxMembers.SelectedItems[counter].Value;
 }

Это не возвращает выбранное значение. Куда я иду не так? ошибка, которую он выдает, System.Web.UI.WebControls не содержит определения для ошибки listboxmembers.selectedItems

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using MySql.Data.MySqlClient;
using MySql.Data;
using System.Web.Security;
using System.Data;
using System.Web.UI.WebControls;

Это те пространства имен, которые я использую.

Это то, что я пытаюсь сделать

 for (int counter = 0; counter < countSelected; counter++)
            {

        //To get User ID
            string firstName=ListBoxMembers.SelectedItems[counter].Value;

           // string firstName = ListBoxMembers.Items[counter].Value;
            string GUserIDQueryText = "SELECT UserID FROM tbl_user WHERE FirstName ";
            int userID = Convert.ToInt32(server.performQuery(GUserIDQueryText, firstName, MySqlDbType.VarChar));

            //Insert into tbl_userGroups
            string insertIDText = "INSERT INTO tbl_usergroups 

(tbl_group_GroupID,tbl_user_UserID) VALUES(@tbl_group_GroupID,@tbl_user_UserID)";
...
     }

Я хочу добавить всех выбранных пользователей в таблицу.

выдаваемая ошибка: System.Web.UI.WebControls не содержит определения для listboxmembers.selectedItems. Отсутствует директива директории или сборки. Почему я не могу использовать selectedItems

Ответы [ 3 ]

5 голосов
/ 14 сентября 2011
countSelected  =  ListBoxMembers.Items.Cast<ListItem>().Where(i => i.Selected).Count();

если вы пытаетесь получить все выбранные предметы, вы можете сделать

var selectedNames = ListBoxMembers.Items.Cast<ListItem>()
                                  .Where(i => i.Selected)
                                  .Select(i => i.Value)
                                  .ToList()
1 голос
/ 14 сентября 2011
 List<string> selectedFirstNames = new List<string>();  
 foreach (ListItem item in ListBoxMembers.Items)
 {
     if (item.Selected)
     {
         selectedFirstNames.Add(item.Value);
     }

 }  

//selectedFirstNames has your list of selected first names 
0 голосов
/ 14 сентября 2011

Проверяете ли вы Postback и НЕ перепривязываете, когда происходит обратная передача? Могу поспорить, что вы выбрасываете выбранные вами значения, потому что вы привязываете. Код в вашем цикле foreach правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...