gpt4 book ai didi

c# - CheckboxList 忽略 DataValueField 和 DataTextField

转载 作者:行者123 更新时间:2023-11-30 22:10:11 25 4
gpt4 key购买 nike

我发现了错误。很明显:我没有数据绑定(bind)到正确的复选框列表!我应该数据绑定(bind)到 filterONTYPElist,但我数据绑定(bind)到 filterONDATASETlist...复制粘贴错误,抱歉...

我有一个呈现如下的复选框列表:

enter image description here

这是处理数据绑定(bind)的代码:

FilterOnTypeCheckboxList.DataSource = listCheckboxItems;
FilterOnDatasetCheckboxList.DataValueField = "Value";
FilterOnDatasetCheckboxList.DataTextField = "Text";
FilterOnTypeCheckboxList.DataBind();

我的数据源是 list<CheckBoxItem> .该类如下所示,您可以清楚地看到有一个公共(public)属性 Value 和一个公共(public)属性 Text:

[Serializable]
public class CheckboxItem
{
public string Text { get; set; }
public string Value { get; set; }

public CheckboxItem(string value, string text)
{
Value = value;
Text = text;
}

public override string ToString()
{
return "brompot";
}
}

但出于某种原因,每个复选框的文本和值使用 CheckBoxItem 类的 ToString() 方法,而不是适当的属性“Value”和“Text”。

PS:我检查过checkboxitems对象的值和文本不是字符串“brompot”...

让 toString() 方法返回文本或值不是一个选项,因为我希望复选框值是值属性和复选框(标签)文本

最佳答案

我进行了快速测试,这似乎按预期工作。你能提供更多细节吗?另外,请验证我提供的代码是否与您所做的相似?

<div>
<asp:Button ID="btnBind" runat="server" Text="Bind" OnClick="btnBind_Click" />
<asp:CheckBoxList ID="cbList" runat="server"></asp:CheckBoxList>
</div>


public partial class _Default : Page
{
protected void btnBind_Click(object sender, EventArgs e)
{
List<CheckboxItem> listCheckboxItems = new List<CheckboxItem>();
listCheckboxItems.Add(new CheckboxItem("Val-1", "Item-1"));
listCheckboxItems.Add(new CheckboxItem("Val-2", "Item-2"));
listCheckboxItems.Add(new CheckboxItem("Val-3", "Item-3"));
listCheckboxItems.Add(new CheckboxItem("Val-4", "Item-4"));
listCheckboxItems.Add(new CheckboxItem("Val-5", "Item-5"));

this.cbList.DataSource = listCheckboxItems;
this.cbList.DataValueField = "Value";
this.cbList.DataTextField = "Text";
this.cbList.DataBind();
}
}

[Serializable]
public class CheckboxItem
{
public string Text { get; set; }
public string Value { get; set; }

public CheckboxItem(string value, string text)
{
Value = value;
Text = text;
}

public override string ToString()
{
return "brompot";
}
}

enter image description here

关于c# - CheckboxList 忽略 DataValueField 和 DataTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21023639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com