2008-10-13 13 views
3

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

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

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

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

ответ

2

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

Возможно, вам придется привязываться к сетке с помощью кода, а не декларативно.

+0

Благодарим за ответ. Я подумал, что это так. Что я сделал, был создан веб-пользовательский элемент управления с некоторыми настраиваемыми свойствами, чтобы выставить несколько значений (CSV в моем случае) многоэкранного списка. Затем ObjectDataSource смог использовать значения без проблем. – M3NTA7 2008-10-14 22:45:34

0

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