我对此有点不知所措,在我的搜索中找不到任何有用的东西,所以我希望有人能在这里帮助我。
我有一个 RadioButtonList,我正在添加一个动态创建的 ListItems 列表,我在其中设置每个项目的文本和值。在 RadioButtonList 的 DataBind 上,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();
最佳答案
你应该在这里使用数据绑定(bind)吗?您不能直接将 ListItems 添加到单选按钮列表吗?
我想 Databinding 对如何绑定(bind)您的列表感到困惑,所以只是在您的每个元素上使用 ToString,它似乎只返回 Text
属性。然后将其用作文本和值。
您可能只想创建项目并将它们直接添加到单选按钮控件,如下所示:
var radioButtonList = new RadioButtonList();
foreach(var object in objects) {
var li = new ListItem {Text = object.Name, Value = object.Guid};
radioButtonList.Items.Add(li);
}
关于c# - ListItem 的值被 DataBind 上的文本替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710574/