簡體   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