苦苦研究了一下午问题之所在以后,终于从网上的一些资料找到了答案,原因应该是手动编程的数据源在ViewState中没有保持的问题,一旦引起 PostBack,数据源的内容就丢失了,那么解决办法就是在GridView的"PageIndexChanging"的事件中指定新页码然后重新进行数据源的绑定。
代码如下:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
/* ----- 重写一遍先前绑定数据源的代码 ----- */
}