[英]How do I populate a 'asp:ListBox' with an array of strings?
我有一个asp:Listbox
,我需要根据用户选择来关闭项目。 这是我尝试过的:
string[] my2012Departments = new string[5];
my2012Departments[0] = "Administration";
my2012Departments[1] = "Imaging Services";
my2012Departments[2] = "IT";
my2012Departments[3] = "Lab";
my2012Departments[4] = "Support Services";
lstDSYDepartment.Items.AddRange(my2012Departments.ToArray());
//The AddRange will also not work without .ToArray()
但是,这会导致以下错误:
1.无法从“字符串[]”转换为“ System.Web.UI.WebControls.ListItem []”
2. .... AddRange ....的最佳重载方法匹配具有一些无效的参数
根据文档 ,只要我将代码放入表单加载中,这就应该起作用。
您可以创建一个List<string>
并将其分配为列表框的数据源,如下所示
List<string> my2012Departments = new List<string>();
my2012Departments.Add("Administration");
my2012Departments.Add("Imaging Services");
my2012Departments.Add("IT");
my2012Departments.Add("Lab");
my2012Departments.Add("Support Services");
lstDSYDepartment.DataSource = my2012Departments;
lstDSYDepartment.DataBind();
(OR)代替分配字符串数组; 创建一个ListItem[]
数组,如下所示
ListItem[] my2012Departments = new ListItem[5];
my2012Departments[0] = "Administration";
my2012Departments[1] = "Imaging Services";
my2012Departments[2] = "IT";
my2012Departments[3] = "Lab";
my2012Departments[4] = "Support Services";
this.lstDSYDepartment.Items.AddRange(my2012Departments);
您引用的文档适用于Windows窗体,而不适用于ASP。
尝试
lstDSYDepartment.Items.Add("Administration");
lstDSYDepartment.Items.Add("Imaging Services");
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.