基本上我需要使用字符串填充listBox的.Text值,并使用int填充其.Value值。 通过这样做:
lbUsers.DataSource = new UserManagerBO().GetGlobalUserList();
lbUsers.DataBind();
这将为.Value和.Text。
分配一个字符串现在我知道GetGlobalUserList()返回一个字符串[],这就是为什么我得到上面的行为,那么如何返回int值和字符串值?也许去2D阵列?然后如何将这些结果绑定到列表框?
答案 0 :(得分:5)
选项1
让该方法返回string[]
并选择值SelectedIndex
。
选项2 创建一个自定义类作为Damith的答案。
选项3
Dictionary<int, string>
就足够了。
Dictionary Keys
的{p> ListBox Value
和Dictionary Values
的{{1}}。
假设这是您的方法返回的字典
ListBox Text
第2步:
现在是时候将词典对与列表框绑定了。以下代码绑定到列表框。
//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");
答案 1 :(得分:2)
使用用户属性创建自定义类。这可以在处理全球用户时重复使用
public class CustomClass()
{
public int ID { get; set; }
public int Name { get; set; }
}
从CustomClass
返回GetGlobalUserList()
个对象的集合,您需要更改GetGlobalUserList
方法的签名和逻辑。你做到了,
lbUsers.DataSource = new UserManagerBO().GetGlobalUserList();
设置列表框的DataTextField
和DataValueField
lbUsers.DataTextField = "Name";
lbUsers.DataValueField = "ID";
lbUsers.DataBind();