ASP.NET - ObjectDataSource: использование ListBox с множественным выбором в качестве ControlParameter

У меня есть форма, содержащая элемент управления GridView, который привязан к элементу управления ObjectDataSource. Есть несколько элементов управления TextBox, которые уже используются в качестве ControlParameters для ObjectDataSource. У меня также есть пользовательский объект данных, который ObjectDataSource связан с {TypeName = "myDataClass"}. Значения передаются из ObjectDataSource в myDataClass.

Теперь мне нужно также использовать ListBox с множественным выбором в качестве ControlParameter. Когда я использую параметр SelectedValue ListBox, ObjectDataSource видит только первый выбранный элемент в списке.

Вот вопрос: как я могу получить все значения ListBox с множественным выбором, переданные в мой настраиваемый объект «myDataClass» вместо только первого выбранного? Следовательно, ["множественный выбор"]

Спасибо за любую помощь!


person M3NTA7    schedule 13.10.2008    source источник


Ответы (2)


Поля списков с множественным выбором сложны. Вам нужно перебрать элементы кода, чтобы создать список выбранных значений. Поэтому вам, вероятно, потребуется реализовать специальный параметр, который сделает это за вас.

Вам может потребоваться привязка к сетке из кода программной части вместо того, чтобы делать это декларативно.

person Eric Z Beard    schedule 13.10.2008
comment
Спасибо за ответ. Я подумал, что это так. Я создал пользовательский веб-элемент управления с некоторыми настраиваемыми свойствами для отображения нескольких значений (в моем случае CSV) списка с множественным выбором. После этого ObjectDataSource смог без проблем использовать значения. - person M3NTA7; 15.10.2008

Это типичная проблема. Список с множественным выбором всегда возвращает первое выбранное значение, а не все выбранное значение. Мы должны пройти через всю коллекцию и проверить каждое отдельное значение, выбрано оно или нет.

person Alok Kumar    schedule 21.01.2010