asp.net 列表框文本/值

本文关键字:文本 net 列表 asp | 更新日期: 2023-09-27 18:36:03

基本上我需要填充一个列表框的.带有字符串及其 .带有整数的值。通过这样做:

lbUsers.DataSource = new UserManagerBO().GetGlobalUserList();
lbUsers.DataBind();

这会为两者分配一个字符串。值和 .发短信。

现在我知道 GetGlobalUserList() 返回一个字符串[],这就是我得到上述行为的原因,那么如何返回 int 值和字符串值呢?也许去2D阵列?然后如何将这些结果绑定到列表框?

asp.net 列表框文本/值

选项 1让该方法返回string[]值选择SelectedIndex

选项 2在 Damith 回答时创建自定义类。

选项 3一个Dictionary<int, string>就足够了。

Dictionary Keys ListBox ValueDictionary Values ListBox Text

假设这是您的方法返回的字典

//Adding key value pair to the dictionary
Dictionary<int, string> dStudent = new Dictionary<int, string>();
dStudent.Add(0, "Eena");
dStudent.Add(1, "Meena");
dStudent.Add(2, "Deeka");
dStudent.Add(3, "Tom");
dStudent.Add(4, "Dick");
dStudent.Add(5, "Harry");
dStudent.Add(6, "Yamla");
dStudent.Add(7, "Pagla");
dStudent.Add(8, "Dewana");
dStudent.Add(9, "Guru");
dStudent.Add(10, "Sholay");

第 2 步:

现在是时候将字典对与列表框绑定了。下面的代码绑定到列表框。

//binding to the list
lst.DataTextField = "Value";
lst.DataValueField = "Key";
lst.DataSource = dStudent;
lst.DataBind();

使用用户属性创建自定义类。 当您处理全局用户时,可以重新使用它

public class CustomClass()
{
    public int ID { get; set; }
    public int Name  { get; set; }
}

GetGlobalUserList()返回CustomClass对象的集合,需要更改GetGlobalUserList方法的签名和逻辑。你做到了,

lbUsers.DataSource = new UserManagerBO().GetGlobalUserList();

设置列表框的DataTextFieldDataValueField

lbUsers.DataTextField  = "Name";
lbUsers.DataValueField = "ID";
lbUsers.DataBind();