2012-03-30 115 views
1

我有一個ListView在我的aspx文件是這樣的:如何在Listview中顯示列表項?

<asp:ListView ID="ListView1" runat="server"></asp:ListView> 

,然後我有列表這樣的:

List<string> mylist = new List<string>(); 

我試着去填充,像這樣的ListView:

foreach(string elem in mylist) 
{ 
    ListView1.Items.Add(new ListViewItem(elem)); 
} 

但我的編譯器告訴我最好的過載匹配錯誤&無法將字符串轉換爲ListViewItem。這是一個asp.net 4.0 web應用程序。有什麼建議麼?

回答

4

嘗試結合您的ListView類似如下:

代碼隱藏

List<string> mylist = new List<string>() { "stealthy", "ninja", "panda"}; 
listView.DataSource = mylist; 
listView.DataBind(); 

ASPX

<asp:ListView ID="listView" runat="server"> 
    <ItemTemplate> 
     <asp:Label Text="<%#Container.DataItem %>" runat="server" /> 
    </ItemTemplate> 
</asp:ListView> 
2

隨着ListView,你應該能夠綁定到數據的DataSource控制:

ListView1.DataSource = myList; 
ListView1.DataBind(); 
2

ListViewItem沒有任何接受字符串的構造函數。 也ListView.ItemsIList<ListViewDataItem>不是ListViewItem

你可能想使用數據綁定,而不是反正逐步添加項目的集合。

+1

很容易將Web控件與相同名稱的表單控件混淆(它提供了一個接受字符串的構造函數) – 2012-03-30 01:54:51