我正在尝试为页面底部的列表视图创建数据抓取器。当我在没有数据采集器的情况下绑定listview时,我没有得到任何错误,并且所有内容都按照它应该被列出。但是,当我尝试创建数据夹时,我收到一条错误消息: list需要数据源,或者如果AllowPaging为真,则需要ICollection作为数据源
这是我的列表视图:
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="lstAllProducts" PageSize="12">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="true" ShowLastPageButton="true" />
</Fields>
</asp:DataPager>
这是datapager:
if (!IsPostBack)
{
lstAllProducts.DataSource = svc.GetAllItemsOverview().OrderByDescending(i => i.id);
lstAllProducts.DataBind();
}
这里是我在页面加载中绑定listview数据的地方:
<div class="seatsWrapper">
<ul class="seatsContainer r1">
<li>A1</li>
<li>A2</li>
<li>A3</li>
<li>A4</li>
<li>A5</li>
<li>A6</li>
<li>A7</li>
<li>A8</li>
<li>A9</li>
<li>A10</li>
<li>A11</li>
<li>A12</li>
<li>A13</li>
<li>A14</li>
<li>A15</li>
</ul>
<ul class="seatsContainer r2">
<li>B1</li>
<li>B2</li>
<li>B3</li>
<li>B4</li>
<li>B5</li>
<li>B6</li>
<li>B7</li>
</ul>
<ul class="seatsContainer r3">
<li>C1</li>
<li>C2</li>
<li>C3</li>
</ul>
</div>
我试图按照此链接中的指南操作。 http://weblogs.asp.net/hajan/paging-listview-using-datapager-without-using-datasource-control
希望你们中的一些人有一个关于它为什么不起作用的建议。
答案 0 :(得分:0)
您的代码存在的问题是,@PostConstruct
需要完整的数据来计算页码,但您要为DataPager
分配IEnumerable<T>
,这将在绑定数据时解析(您可以阅读ListView
)。
要解决此问题,只需使用LINQ Deferred Execution
或ToArray
枚举结果: -
ToList