繁体   English   中英

如何用字符串数组填充“ asp:ListBox”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM