<div>
<asp:ListView ID="listTexts" runat="server" OnDataBound="listTexts_DataBound">
<ItemTemplate>
<div>
<span id="CommentedText">
<%# DataBinder.Eval(Container.DataItem, "Comment") %>
</span>
</div>
</ItemTemplate>
</asp:ListView>
<div>
<asp:DataPager ID="DataPager" runat="server" PagedControlID="listTexts" PageSize="10">
<Fields>
<asp:NextPreviousPagerField ShowNextPageButton="false" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ShowPreviousPageButton="false" />
</Fields>
</div>
</div>
这是我的.ascx文件中的代码 listTexts_DataBound的事件在.cs(代码后备)文件
中protected void listTexts_DataBound(object sender, EventArgs e)
{
DataPager.Visible = (DataPager.PageSize < DataPager.TotalRowCount);
}
当我运行代码时,我必须按下一个或上一个按钮两次才能移动到下一页或上一页。 我需要在第一次点击时发生这种情况。 假设有100页,并且最后有10个数字与第一个蚂蚁中的前一个,我必须点击两次,当我点击下一个时将页面从1移动到2,当我点击上一个时从第10页到第9页移动页面然而其余的导航即从2到9只会在第一次点击时发生。
请指导。 提前致谢
答案 0 :(得分:0)
我们可以使用OnPreRender =“DataPager_PreRender”,在这种情况下我们可以分配数据并绑定。
<asp:DataPager ID="DataPager" runat="server" PagedControlID="ListView"
PageSize="5" OnPreRender="DataPager_PreRender">
这应该是背后的代码:
protected void DataPager_PreRender(object sender, EventArgs e)
{
ListView.DataSource = db.datasource();
ListView.DataBind();
}
这解决了问题