LINQ和分页视图分页

时间:2009-07-30 16:45:54

标签: asp.net sql linq listview paging

我有一个包含listview控件和datapager控件的页面。 listviews数据源使用以下代码以编程方式设置:

Dim dal as new dalDataContext
Dim bookmarks = From data In dal.getData(userid)
listview1.DataSource = bookmarks
listview1.DataBind()

当我在浏览器中测试此页面时,它会出现错误:'ListView with id'listview1'必须具有实现ICollection的数据源,或者如果AllowPaging为真,则可以执行数据源分页。'

如何在这种情况下实现分页?

由于

3 个答案:

答案 0 :(得分:18)

尝试

listview1.DataSource = bookmarks.ToArray()

本周我遇到了同样的问题。

答案 1 :(得分:2)

对OP随后遇到的点击两次问题的回答 - 将Databind移动到OnPreRender事件处理程序:

    protected void Page_PreRender(object sender, EventArgs e)
    {
        listview1.DataBind();
    }

答案 2 :(得分:0)

或者可能在那里创建页面属性更改和bindlistview。

protected void lv_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
    //set current page startindex, max rows and rebind to false
    DataPager dp = lvNews.FindControl("lvDataPager1") as DataPager;
    dp.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);

    BindListView();
}