Определение того, какой флажок отмечен в списке контрольных списков - PullRequest
0 голосов
/ 04 мая 2009

У меня есть страница asp.net, которая использует список выбора нескольких элементов (например, имеющий 10 флажков) .... например

Я включил AutoPostBack для любых изменений в контрольном списке.

Первоначально из 10 выбрано 3. Кроме того, если пользователь установит другой флажок, как узнать, какой именно флажок был проверен пользователем, и получить его значение?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 мая 2009
for (int i=0; i<checkboxlist1.Items.Count; i++)
{    
    if (checkboxlist1.Items[i].Selected)
    {
    }    
}

protected void Page_Load(object sender, EventArgs e)
{
    string name = Request.Form["__EVENTTARGET"] ?? String.Empty;
    if (name.IndexOf("CheckBoxList1") != -1)
    {
        int last = name.LastIndexOf("$") + 1;
        int index = Convert.ToInt32(name.Substring(last, name.Length - last - 1));
        if (CheckBoxList1.Items[index].Selected)
        {
            string text = CheckBoxList1.Items[index].Text;
            string value = CheckBoxList1.Items[index].Value;
        }
    }
}
0 голосов
/ 10 мая 2009

Если вы хотите узнать, какой последний флажок был нажат на стороне сервера, вы должны включить AutoPostBack для каждого флажка и соответствующим образом зафиксировать значения. Если у вас есть возможность выяснить последний щелчок флажка на стороне клиента, вам следует реализовать событие «onclick» javascript для каждого флажка, чтобы зафиксировать значение в каждом флажке и просто обновить проверенное значение в скрытой переменной и передать его. обратно на сервер при обратной передаче

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