今天为了做一个绑定结果集,就用了listview,结果直接报错了,
第一个错误是itemPlaceholder,listview的LayoutTemplate需要一个table?并且需要itemPlaceholder的tr?
我怎么觉得以前用listview没这么多麻烦事啊?结果就变成了
<LayoutTemplate>
<table>
<tr id="itemPlaceholder" runat="server"></tr>
</table>
</LayoutTemplate>
第二个就是 ItemTemplate里绑定的数据,<%#Eval("url") %>本来觉得这样写没啥问题,可是报错了,说是URL找不到,没这个名称。可是后台明明给了啊。我就很郁闷,怎么这么不给力啊。用一次还这么多事,结果跑到网上找,也没找到啥,后台是一个list结果集,自己去DataBind,绑定了这么一个集合,list<T>的T类是自定义的一个类,而这个类里面有这么一个url的变量,我就以为list给了listview,那么他的变量名也一起给了listview,结果listview却识别不了了,原来list给listview的只是结果集?或者说是一种按特定的序列给了listview,所以才找不到,最后我只好修改listview的绑定
listview1.DataSource = list.Select(ss=>new {ID=ss.id,URL=ss.url,IMG=ss.img,TITLE=ss.title,LIKE=ss.like});
这样子,前台,<%#Eval("URL") %>以后才出来了结果,看来要给listview绑定结果,还是需要给他一个明确的列名,而不是list自定义的。目前只能这么认为了,还是期待高手给个指示。