Загрузка объекта ASP.NET DropDownList - PullRequest
3 голосов
/ 09 ноября 2010

Из приведенных ниже примеров, показывающих загрузку DropDownList в ASP.NET, какой метод предпочтительнее и почему?

Метод 1:

Создание массива ListItem объекты загружаются с информацией об объектах и ​​используют метод DropDownList.Items.AddRange для загрузки списка.

Метод 2:

Создайте BindableList<T> коллекцию объектов объектов ииспользуйте метод DropDownList.DataSource для загрузки списка.

Метод 3:

Создайте List<T> коллекцию объектов-сущностей и используйте метод DropDownList.DataSource для загрузкисписок.

Заранее спасибо.

1 Ответ

5 голосов
/ 09 ноября 2010

Все методы одинаковы для выпадающего списка, но имеют свои плюсы и минусы. Вот несколько коротких ответов:

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

Скорость: этот метод будет немного медленнее, если существует слишком много ListItems. Потому что вам придется конвертировать бизнес-объекты в объект ListItem, чтобы заполнить раскрывающийся список.


Method2 - хороший вариант, если вы решили работать с привязкой к данным TwoWay. Но он не поддерживается в элементах управления и механизме по умолчанию asp.net, поэтому он будет использоваться напрасно с выпадающим списком.

Скорость: этот метод будет немного быстрее, потому что BindableList реализует IEnumerable, и он будет повторяться один раз при вызове DataBind.


Метод 3 предпочтительно является хорошим вариантом, поскольку он является универсальным и расширяемым, а также может работать с любым привязываемым объектом в .net.

Speed: этот метод будет таким же, как Method2, поскольку List также реализует IEnumerable, и он будет повторяться один раз при вызове DataBind.

...