牛腩购物网 8 整合用户留言 重装系统之后iis7.5 sql2008 vs2010安装顺序,AspNetPager 控件的使用,为什么 anp.StartRecordIndex 总是为1

今天新装了系统,从windows server 2003 换到 windows server 2008 企业版,总体来说还是蛮好的,就是需要对2008系统进行优化。

我担心的软件问题不是问题,因为在86位(也就是原来的32位系统下)运行的软件,在64位下,也运行的好好的。例如 vs2010都还是能直接运行的,但是

daemon这款我用了很多年的虚拟光驱软件不能使用,换做 VirtualCloneDrive 倒是用的挺好。

 

重装系统之后,先安装 IIS角色,然后是自带的.net 3.5,然后是 sql 2008 64位版,然后是 vs2010 32位版

然后在我们的牛腩购物网的时候,运行报错,先是调整了 sql数据库的连接字符串,然后是 微软企业库的重新安装,动软生成器的安装,然后是在项目中引用 微软企业库,引用 anpnetpager控件。

 

为什么 anp.StartRecordIndex 的值总是为1 呢

最有可能的原因是  我们的anp控件,双击之后的代码没有编写  anp.PageSize  和   anp.CurrentPageIndex

这个原因在于StartRecordIndex是通过CurrentPageIndex属性的值计算出来的,而CurrentPageIndex的值在Page的Load事件发生时,因为AspNetPager的PageChanged事件还没有被引发,所以它的值是上次分页后保存在ViewState中的值,也就是上次分页时的页索引,只有在PageChanged事件之后,CurrentPageIndex的值才是……

protected void AspNetPager1_PageChanged(object sender, EventArgs e)

        {

            BindRep();

        }

 private void BindRep()

        {

            anp.RecordCount = guestdao.ClacCount("");

            int pagesize = anp.PageSize;

            int pageindex = anp.CurrentPageIndex;



            rep.DataSource = guestdao.GetList("*", "createdate", "desc", pagesize, pageindex, "");

            rep.DataBind();

        }

 

你可能感兴趣的:(VS2010)