доставить массив (тип: var) в _Click-событие в C # и ASP.NET - PullRequest
0 голосов
/ 08 августа 2011

Я очень расстроен, пытаясь получить массив для моего _Click-Event в моем ASP.NET-приложении.

Вот в чем дело: У меня есть динамически созданная «форма», которая является todolist. Так что для каждой задачи у меня есть описание (из базы данных), поле примечания и флажок.

Так как они могут быть 0-n задачами, я не могу работать с asp: -Tag в файле ascx.

Вот почему я создал класс для каждой задачи, который выглядит следующим образом:

private class todoContainer 
    { 
        public int? id 
        { 
            get; 
            set; 
        } 

        public CheckBox activeted 
        { 
            get; 
            set; 
        }
[...]

Список создается с помощью цикла foreach, и каждый toDo попадает в массив todoArray. Вот как я работаю с элементами управления внутри цикла: checkboxArea.Controls.Add (todoArray [todoArrayInt] .activeted);

Поскольку теперь я хочу отправить список на событие submit со всеми внесенными мною изменениями (например, если я хочу добавить заметку в ToDo X и хочу вычеркнуть DoDo Y), я должен получить всю массив в моем _Click-методе. К сожалению, я не могу найти способ сделать это ...

Я пробовал это:

  • Получить весь массив в asp: HiddenField-Controll, который вообще не работает
  • Получить массив в сеанс, но я не могу найти способ, как отслеживать изменения ...

Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.

С наилучшими пожеланиями Ричард

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Если вам нужен набор флажков, каждый из которых связан с другим TODO, попробуйте использовать элемент управления CheckBoxList.

CheckBoxList

Используя этот элемент управления, вы можете связать каждый TODO в вашем массиве (нет необходимости сохранять ссылку на флажок) с элементом флажка, используя свойство Value каждого элемента для хранения идентификатора.

Повторное получение TODO в событии onclick будет таким же простым, как итерация по коллекции элементов CheckBoxList (CheckBoxes) и проверка свойства Value, чтобы определить, какой CheckBox принадлежит какому TODO.

0 голосов
/ 08 августа 2011

как насчет использования элемента управления asp: repeater?

на вашем событии нажатия кнопки отправки вы должны иметь возможность перебирать каждый элемент в вашем asp: repeater

foreach (элемент RepeaterItem в repeater1.Items)
{

             TextBox box = (TextBox)item.FindControl("Value");
             string b = box.Text;               

           }

// делать что-то здесь после цикла через ретранслятор

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