不知道是小弟没用好,还是本身的BUG。小弟使用URL进行分页,主要代码如下: 
private void Page_Load(object sender, System.EventArgs e) 
{ //载入数据 
if (!Page.IsPostBack) 
   { BindData(); } 

private void objPager_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e) 

objPager.CurrentPageIndex = e.NewPageIndex; BindData(); 

问题是:翻页事件中的BindData()是每一次都会执行的,而在使用URL翻页的情况下Page_Load中的BandData()也是会执行的,所以在每访问一次,都会执行2次数据库操作?也就是多余了一次是小弟用错了,还是别的问题,希望大家给个指点:) 
如果是
fzuray#hotmail.com 

解决方案 »

  1.   

    而且 pager.CurrentPageIndex 的setValue 有问题
      

  2.   

    使用URL翻页 的时候还会触发事件吗?asp.net基础知识呀。
      

  3.   

    是的,url分页就相当于重新打开一次页面,而不是回发,所以if(!IsPostBack)中的代码每次都会执行,因为页面并没有PostBack,所以用url分页的时候不用在if(!IsPostBack)块中绑定数据,在分页事件处理程序中绑定就可以了
      

  4.   

    那第一次页面加载的时候不是要用if(!Page.isPostBack){绑定么}.
      

  5.   

    呵呵~  最近难得见到webdiyer一面,lz运气不错~~
      

  6.   


    异常出现在这里。。如果在page_Load中没有执行 捆绑 的操作,那翻页的事件中
    pager.CurrentPageIndex=e.NewPageIndex;//此句将无效。。
    CurrentPageIndex将不能被更新,从而导致不能成功翻页这个问题确实存在,请webdiyer兄看看  :)
      

  7.   

    我试过的没有问题啊,url分页时分页事件就是在Page的Load事件中触发的,所以在分页事件中绑定数据就行了,页面加载时这个事件就引发了,不需要再在Page的Load事件中绑定。
      

  8.   

    to:Eddie005(♂) №.零零伍 (♂) 最近项目忙,出差半年多,天天加班,很长时间没上CSDN了,很是惭愧,现在项目还没完,只能偶尔找个空跑上来看看
      

  9.   

    我描述的意思是 webdiyer  不没理解。
    是翻第二页的时候,要先把 RecordCount 设置一个比大的值才能翻到其他页,否则老是在第一页。之前你的DEMO中有2个问题没更新,有空的时候改改吧
    1)在URL翻页的情况下,Page_Load中多了绑定事件。
    2)在URL翻页情况下,要先把RecordCount属性设置到一定大小才能使用。 objPager.RecordCount = 10000;//设置临时的页数
    objPager.CurrentPageIndex = e.NewPageIndex;
    BindData();
      

  10.   

    确实有点糊涂:)Demo中在Page_Load中多绑定一次数据的问题没有改是因为准备升级后重做,但被现在这个项目缠住了身,一年多了完不了所以无法升级,至于楼主说的第二个问题,我不太明白,无论在哪一种分页情况下,RecordCount都是必须在Page_Load中设置的属性,设置到一定大小才能使用我不懂是怎么回事,把demo中url示例页面Page_Load中绑定数据的代码删除掉(设置RecordCount属性的代码不能删除),完全运行正常,不需要事先设置一个RecordCount属性呀!楼主可能把设置RecordCount属性的代码放错地方了,这个代码不能放在分页事件中,而应该是页面加载时设置。谢谢!
      

  11.   

    webdiyer(陕北吴旗娃) 的分页控件有没有asp.net2.0版本的?
      

  12.   

    to jz630(姜喆):
    暂时没有时间升级到2.0版,不过现在的版本在asp.net 2.0下也可以正常使用,谢谢!
      

  13.   

    我说到的问题和我目前使用数据库的交互方式有关系
    每个页面需要获取2种数据,1是符合查询条件的数据总数(recordCount),另一个是 返回的查询集合。而目前我为了提高效率,使用的方法是一次就把 2种数据都返回,因此一开始没有去获取实际的RecordCount属性,而是把RecordCount设置成一个比较大的值,这样我才可以在翻页码大于1的页面。不过实现这个方法  可以有很多方法。。