【发布时间】:2014-05-20 06:34:08
【问题描述】:
我通常不使用这些类型的控件,所以我可能完全走错了路..
最终目标是拥有一个包含 ProductTitle、ProductURL 和 ProductDescription 的记录数据集。然后让这些记录以 3 列格式显示,如果需要,还可以添加其他行。例如:
应该显示记录 1、2、3、4、5、6 和 7
1 - 2 - 3
4 - 5 - 6
7
我得到的错误是
System.Web.HttpException:数据绑定: 'System.Web.UI.WebControls.ListItem' 不包含具有 名称“ProductTitle”。
前端:
<div>
<asp:ListView ID="ListView1" runat="server" GroupItemCount="3" OnLoad="ListView1_Load">
<LayoutTemplate>
<table>
<tr>
<td>
<table border="0" cellpadding="5">
<asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder>
</table>
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<td>
<div>
<div><%#Eval("ProductTitle")%></div>
<img alt="Test Image" src="<%#Eval("ProductURL")%>" />
<div><%# Eval("ProductDescription")%></div>
</div>
</td>
</ItemTemplate>
</asp:ListView>
</div>
我有我的代码隐藏:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub ListView1_Load(sender As Object, e As EventArgs)
Dim myPaaams As ArrayList = New ArrayList
myPaaams.Add(New ListItem("ProductTitle", "Adams Test"))
myPaaams.Add(New ListItem("ProductURL", "Adams Test"))
myPaaams.Add(New ListItem("ProductDescription", "Adams Test"))
ListView1.DataSource = myPaaams
ListView1.DataBind()
End Sub
我也为我的 ListView Load 事件尝试过以下代码,但失败并出现同样的错误。
Protected Sub ListView1_Load(sender As Object, e As EventArgs)
Dim myParams As ArrayList = New ArrayList
Dim variable As New Dictionary(Of String, String) From {{"ProductTitle", "Adams Test"}, _
{"ProductURL", "value2"}, _
{"ProductDescription", "value2"}}
myParams.Add(variable)
ListView1.DataSource = myParams
ListView1.DataBind()
End Sub
【问题讨论】:
标签: asp.net .net vb.net listview data-binding