我有一个包含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为真,则可以执行数据源分页。'

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

由于

有帮助吗?

解决方案

尝试

listview1.DataSource = bookmarks.ToArray()

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

其他提示

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

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

或者可能在那里创建页面属性更改和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();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top