Я только что наткнулся на эту причудливую вещь, которую я ожидал работать по-другому (логично), но это не так. Это ошибка или "функция"?
Итак, есть DropDownList, который я заполняю в Codebehind списком ListItem. Каждый новый ListItem получает 2 аргумента, которые в соответствии с документацией, предоставляемой intellisense, соответствуют его тексту и значению:
List<ListItem> users = new List<ListItem>();
foreach (SubscriptionUser su in subscriptionDetails.UserList)
{
users.Add(new ListItem(su.FirstName + " " + su.LastName, su.EmailAddress));
}
ddlPrimaryContact.DataSource = users;
ddlPrimaryContact.DataBind();
Теперь, может ли кто-нибудь объяснить мне, почему привязка данных DropDownList и текст и значение установлены одинаково (текст ListItem) вместо использования ListItem.Text в качестве значения Text и ListItem.Value в качестве значения?
ARGH!! http://www.freeimagehosting.net/uploads/fe65d0e7d5.jpg
Или я делаю что-то неправильно?