我的aspx文件中有一个ListView,如下所示:
<asp:ListView ID="ListView1" runat="server"></asp:ListView>
然后我有这样的List:
List<string> mylist = new List<string>();
我试图像这样填充ListView:
foreach(string elem in mylist)
{
ListView1.Items.Add(new ListViewItem(elem));
}
但我的编译器告诉我最好的过载匹配错误&amp;无法将字符串转换为ListViewItem。这是一个asp.net 4.0网络应用程序。有什么建议吗?
答案 0 :(得分: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>
答案 1 :(得分:2)
使用ListView
,您应该能够将数据绑定到控件的DataSource
:
ListView1.DataSource = myList;
ListView1.DataBind();
答案 2 :(得分:2)
ListViewItem没有任何带字符串的构造函数。
另外ListView.Items是IList<ListViewDataItem>
,而不是ListViewItem
您可能希望使用数据绑定而不是反复添加项目。