2012-03-30 11 views
1

私はこのような私のaspxファイルにリストビューを持っている:Listviewにリストアイテムを表示するには?

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

、その後、私はこのようなリストを持っている:

foreach(string elem in mylist) 
{ 
    ListView1.Items.Add(new ListViewItem(elem)); 
} 
:そうのようなリストビューを移入しようとしている

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

イム

しかし、私のコンパイラは、私に最高の過負荷の一致エラー&は、ListViewItemに文字列を変換することはできません教えています。これはasp.net 4.0 Webアプリケーションです。助言がありますか?

コードビハインド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> 

答えて

4

は、以下のようなあなたのListViewを結合してみコントロール:

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

、あなたがのDataSourceにデータをバインドすることができるはずです。

2

ListViewItemには、文字列を取るコンストラクタはありません。 またListView.Itemsあなたはおそらく、むしろ繰り返し、とにかくアイテムを追加するよりも、データバインディングを使用したいListViewItem

IList<ListViewDataItem>ないコレクションです。

+1

Webコントロールを同じ名前のフォームコントロールと混同するのは簡単です(これは文字列を取るコンストラクタを提供します) –

関連する問題