ListItem的值被DataBind上的文本替换

Dav*_*tik 3 .net c# data-binding radiobuttonlist listitem

我在这一点上有点失落,但在我的搜索中找不到任何有用的东西,所以我希望有人可以帮助我.

我有一个RadioButtonList,我正在添加一个动态创建的ListItems列表,我在其中设置每个项目的文本和值.在RadioButtonList的DataBind上,ListItem的值被Text替换,这对我来说似乎没有意义.

当我在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();
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 10

你应该在这里使用数据绑定吗?你能不能直接将你的ListItem添加到单选按钮列表中?

我认为Databinding对于如何绑定列表感到困惑,因此只是在每个元素上使用ToString,这似乎只是返回TextProperty.然后将其用作文本和值.

您可能只想创建项目并将其直接添加到单选按钮控件,如下所示:

var radioButtonList = new RadioButtonList();
foreach(var object in objects) {
  var li = new ListItem {Text = object.Name, Value = object.Guid};
  radioButtonList.Items.Add(li);
}
Run Code Online (Sandbox Code Playgroud)