2012-03-30 72 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