如何填充'asp:ListBox'使用字符串数组

本文关键字:ListBox 字符串 数组 asp 填充 何填充 | 更新日期: 2023-09-27 18:12:34

我有一个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。无法从'string[]'转换为' system . web . ui . webcontrols . listtitem []'

2。最佳的重载方法匹配....AddRange....

根据文档,这应该工作,只要我把代码在表单加载。

如何填充'asp:ListBox'使用字符串数组

您可以创建一个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");
...