我有一个带有列表视图控件和数据页控件的页面。使用以下代码以编程方式设置列表视图数据源:
Dim dal 作为新的 dalDataContext 暗淡书签 = 来自 dal.getData(userid) 中的数据 listview1.DataSource = 书签 listview1.DataBind()
当我在浏览器中测试此页面时,会出现错误:“ID 为“listview1”的 ListView 必须具有实现 ICollection 或在 AllowPaging 为 true 时可以执行数据源分页的数据源。”
这种场景下如何实现分页?
谢谢
尝试
listview1.DataSource = bookmarks.ToArray()
这周我也遇到了同样的问题。
OP 随后遇到的点击两次问题的答案 - 将 Databind 移至 OnPreRender 事件处理程序:
protected void Page_PreRender(object sender, EventArgs e)
{
listview1.DataBind();
}
或者也许创建一个页面属性更改并在那里绑定列表视图。
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();
}