Я немного похудел на этом и не смог найти ничего полезного в моих поисках, поэтому я надеюсь, что кто-то может помочь мне здесь.Значение ListItem заменяется текстом на DataBind
У меня есть RadioButtonList, что я добавляю список динамически созданных ListItems, где я устанавливаю как текст, так и значение для каждого элемента. В DataBind для RadioButtonList значение для ListItem заменяется текстом, который, как мне кажется, не имеет смысла.
Я вижу на стороне клиента, когда я смотрю в Firebug, что метка и значение на входе одинаковы, а значение нигде не видно.
Есть ли у кого-нибудь еще такие переживания, или кто-нибудь знает, где я могу ошибиться?
var rbList = new List<ListItem>();
var radioButtonList = new RadioButtonList();
foreach(var object in objects) {
var li = new ListItem {Text = object.Name, Value = object.Guid};
rbList.Add(li);
}
radioButtonList.DataSource = rbList;
radioButtonList.DataBind();
Где определение «объектов»? –
Вы смешиваете два разных подхода, как заполнять RadioButtonList данными! Это неверно. Либо вы добавляете ListItem-s в radioButtonList.Items (как показано ниже), либо используете источник radioButtonList.DataSource и поставляете некоторый набор объектов non-ListItem (обычно Entitites) - поэтому поведение, с которым вы столкнулись, является правильным –