c# - ListItem 的值被 DataBind 上的文本替换

标签 c# .net radiobuttonlist listitem data-binding

我对此有点不知所措,在我的搜索中找不到任何有用的东西,所以我希望有人能在这里帮助我。

我有一个 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/

相关文章:

c# - .Net 6 Ocelot 18.0.0 导航到网关 URL 时返回错误 404

c# - 以图形方式显示正在执行的代码? 。网

c# - 动态单选按钮将添加的列表项设置为选中

asp.net - 如何告诉 RadioButtonList 不生成表格

c# - 在 C# 中引用另一个应用程序提供的外部 .NET DLL

c# - 什么 C#/Linq 代码在不知道它们的类型的情况下复制两个对象之间所有匹配的属性名称值?

c# - 使用 C# 进行高质量 JPEG 压缩

c# - Dapper 列表参数被 Postgres 拒绝

c# - 尽管在调试选项中设置了复选框,但 Visual Studio 调试器不会在 NullReferenceException 上中断

安卓 : SharedPreferences in BroadcastReceiver RadioButton's integer value do not update?