привязка данных выпадающего списка VS для каждого в asp.net - PullRequest
0 голосов
/ 06 сентября 2011

Какой метод заполнения раскрывающегося списка более эффективен?

var info = db.table.Where( x => x.column == targetInformation).
           Select(x => new {x.item, x.index});

**************FOREACH
foreach( var infos in info)
{
   drowDownList.Items.Add(new {infos.item,infos.index.ToString()});
}
**************DATABIND
dropDownList.DataSource = info;
dropDownList.DataBind();

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

Как заявил Джон Сондерс, эффективность здесь не очень важна, особенно если учесть использование операций с БД.

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

Что вы должны рассмотреть, однако, что для вас, как программиста, более эффективно для чтения? Кроме того, вы собираетесь поделиться этим кодом с другими в команде? Они более привыкли к коду в стиле WPF или к более ручному стилю кода?

Возможно, лучшая эффективность в этом случае - максимизировать читаемость этого кода для вас и ваших коллег.

0 голосов
/ 06 сентября 2011

Это немного по-другому, но вы можете попробовать что-то вроде этого:

var results = table.AsEnumerable().Where(row => row.Field<int>("SomeType") > 1);

foreach (DataRow row in results)
{
    dropDownList.Items.Add(row.Field<string>("SomeText"), row.Field<int>("SomeID"));
}

//you don't need to databind if you're adding the items manually
//dropDownList.DataSource = info; 
//dropDownList.DataBind(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...