小编Git*_*rai的帖子

ASP.NET 4.5 GridView:最后一页的PostBack

我在ASP.NET 4.5和4.5.1版本中发现了GridView寻呼机的问题.从.NET 2 - 4开始,我从未遇到过这样的问题.

到目前为止,我有一个gridview,我在后面的代码中填充数据,如下所示:

protected int CurrentPage { get { return SearchResults.PageIndex + 1; } }

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
         BindGrid();
}

private void BindGrid()
{
    int totalRowCount = 0;
    SearchResults.DataSource = GetPageData(SearchResults.PageIndex, SearchResults.PageSize, out totalRowCount);
    SearchResults.VirtualItemCount = totalRowCount;                   
    SearchResults.DataBind();
}

private IEnumerable GetPageData(int start, int count, out int totalRowCount)
{
    return Membership.GetAllUsers(start, count, out totalRowCount);
}

protected void SearchResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
{            
    SearchResults.PageIndex = e.NewPageIndex;            
    BindGrid();
}
Run Code Online (Sandbox Code Playgroud)

问题是如果我点击GridView的最后一页并尝试返回任何其他页面,我的PageIndexChanging不会触发.仅当最后一页与PageSize没有相同的记录计数时,才会出现此问题.行为是我的页面被重新加载,gridview的页面填充了空的数据行直到PageSize.VirtualItemCount正确表示总ItemCount.

标记,如果你在那里找到了什么:

<asp:GridView runat="server" CellPadding="0" …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net paging gridview

8
推荐指数
1
解决办法
3692
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

gridview ×1

paging ×1