vs2005 AspNetPage 分页控件的分页问题(问题出数据帮定上!)
如题~
代码部分:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
SqlConnection conn = newsOperate.getConn();
conn.Open();
SqlCommand cmd = new SqlCommand("select count(nid) from serectNews",conn);
//设置要分页的数据的总数
pager.RecordCount = (int)cmd.ExecuteScalar();
conn.Close();
bindData();
fillNews();
}
}
public void bindData()
{
SqlConnection conn = newsOperate.getConn();
conn.Open();
SqlCommand cmd = new SqlCommand("select nid,title,classid,addtime from serectNews order by nid desc", conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
//注意下面这句,只填充当前页要显示的数据,不能把所有数据全填充到DataSet中,否则无法实现分页
adapter.Fill(ds, pager.PageSize * (pager.CurrentPageIndex - 1), pager.PageSize, "serectNews");
GridView1.DataSource = ds.Tables["serectNews"];
//GridView1.DataBind(); //老大请看这,我只有注释掉他代码才可以执行,不然会显示一个错误:异常详细信息: System.Web.HttpException: 在选定的数据源上未找到名为“classname”的字段或属性。
}
protected void pager_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
pager.CurrentPageIndex = e.NewPageIndex;
bindData();
}
前台代码:
<webdiyer:AspNetPager ID="pager" runat="server" AlwaysShow="True" UrlPaging="True" ShowCustomInfoSection="Right" OnPageChanging="pager_PageChanging">
</webdiyer:AspNetPager>
当点击了下一页的时候,状态栏显示的地址是可以改变的
xx.aspx?page=1 可以得到 xx.aspx?page=2
但是有个问题就是 GridView里的数据没有随着 分页而分页。
最后想说的就是,分不是很多,但是这个问题困绕我1天了,早上4点04分!
不知道我有没有说清楚!谢谢
[解决办法]
昏,你去掉了绑定,那还有用的啊。是不是sql语句有问题啊。select nid,title,classid,addtime from serectNews order by nid desc这里的字段搞错了吧。
[解决办法]
//GridView1.DataBind();
这句不能取消的,至于报错你就要检查你的SQL语句了
[解决办法]
首先在对gridview进行绑定一定要加上GridView1.DataBind()
你的问题多数出在你在前台写的列名有问题.