留言簿

我要留言
留言搜索

2009-11-24 16:04  小叶

有个问题:在URL模式下 非得在Pageload里赋值RecordCount才可以.回发的时候,页面里Aspnet控件的值还没取到,不能构成查询条件,这时候得出的总数是错的.即使在后来绑定的时候在赋值,你的分页控件显示页面总数是对的 但是跳不到那一页.例如说PageLoad里给的总数是100 每页30个,分成4页,在绑定之前又给总数为3000,分成100页.这个时候只能跳到第4页.怎么都跳不到100. 这个问题搞了我几天了 很郁闷 不知道你有时候改没? 因为整个项目用的你的控件,老板要我解决这个问题.如果您没时间改的话,可不可以把源代码发我改?ytd7782@gmail.com
回复:您好,我看了好几遍了实在看不懂您的意思,用Url分页,“回发的时候,页面里Aspnet控件的值还没取到”是什么意思呢?您既然在Page_Load方法中设置了总记录数,为什么在绑定之前又设置一次呢?如果是通过回发查询进行分页,那么设置查询结果总记录数可以在查询按钮的点击事件中设置,Page_Load中设置RecordCount属性时必须将代码放在if(!IsPostBack)块中,否则其它地方设置的这个属性值都会被覆盖!

2009-11-24 15:02  gh152ln

杨老师,从学.net开始就听老师在赞扬您,也是从老师那得到的aspnetpager7.0.2版。
现在遇到个问题,想请教下您。
我的数据是实时数据,每10秒获取到并写入数据库。在页面上也需要每10秒刷新。我的处理方式是,不管是不是页面首次加载都调用获取数据方法和分页两个方法。获取数据方法中写有获得数据并保存在泛型集合中,同时存入viewstate。分页方法中写有从viewstate获得list, AspNetPager1.RecordCount和PagedDataSource的属性设置,绑定给gridview。AspNetPager1_PageChanged中调用上述的分页方法。当你从第1页点下去,每点一页,都能的到最新数据。
问题:如果我快速的多点几页,那当前页的数据就到等3分多钟才能看到最新的数据,想了好久都想不明白,用timer控件计时,一直在考虑是不是定时器的原由,但又找不出来
回复:您好,分页为什么要先把数据取出保存在ViewState中然后再取一次数据而不是直接从数据库获取数据页数据并分页呢?您那种分页方法效率很低。至于您说的快速点几页而数据不刷新的问题我觉得可能是浏览器缓存的问题吧。

2009-11-24 11:29  张永斌

能否给一份Oracle9i的分页存储过程?谢谢        本人邮箱:yongbin621@163.com
回复:您好,我也没有这样的过程啊,已经两三年没再接触Oracle了。

2009-11-23 22:14  today

帅哥什么时候开源啊
回复:暂时还没有发布的打算,最近在升级主页呢,有好消息一定会在这里公布的,别担心:)

2009-11-23 14:54  ccd

开源???
回复:顺便调查一下,您希望开源的目的是什么呢?:)

2009-11-23 12:24  Tobey

请问此控件能支持多语言吗?如果没,能否实现一下?能否实现有一个输入框让用户可以自定义每页多少行数据。
回复:您说的是设计时支持吗?运行时无所谓多语言,控件的很多和显示文本内容相关的属性都是可以设置的。自定义每页显示记录数可以通过在Url中添加参数来实现,请参考帮助文档中UrlPageSizeName属性的说明。谢谢!

2009-11-23 11:48  yangyang

请问控件中有没有可以在省略号后显示代表最后一页数字的属性,比如最后一页为32,它显示在省略号之后,下一页或代表下一页的图标之前。
回复:您好,暂时没有提供这样的功能。

2009-11-22 18:51  zy

请问现在开放源码吗?
回复:您好,暂时还还没有发布源码的打算。

2009-11-22 17:30  小叶

试了下在URL模式下 非得在Pageload里赋值RecordCount才可以.我在绑定之前赋值RecordCount不可以么?
回复:绑定之前也可以吧,但必须有具体值,不能在获取分页数据的同时才返回具体值。

2009-11-22 17:06  小叶

奇怪的问题: 我在2005下引用控件 但是分页的当前索引老是1 不知道为什么 奇怪了   
CS:

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        Bind();
    }

    private void Bind()
    {
        IHouse h = House.Instance;

        SetParameter(h);

        AdvPager.RecordCount = h.Count();

        h.PagerStart = AdvPager.StartRecordIndex;
        h.PagerEnd = AdvPager.EndRecordIndex;
        
        GridView1.DataSource = h.Query();
        GridView1.DataBind();
    }

Html引用:
<webdiyer:AspNetPager ID="AdvPager" runat="server" CurrentPageButtonPosition="End"
        FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PageIndexBoxType="DropDownList"
        PageSize="20" PrevPageText="上一页" ShowBoxThreshold="10" ShowNavigationToolTip="True"
        ShowPageIndexBox="Auto" UrlPaging="True" OnPageChanged="AdvPager_PageChanged" CustomInfoHTML="第%CurrentPageIndex%页,共%PageCount%页,每页%PageSize%条" ShowCustomInfoSection="Left" SubmitButtonText="Go" TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到" UrlPageIndexName="pageindex">
    </webdiyer:AspNetPager>
回复:是RecordCount属性值赋得太迟了,请注意在使用StartRecordIndex、EndRecordIndex、PageCount等这些属性时,RecordCount必须有明确的值,否则象前面说的这些属性的值都是默认的0或1,因为这些值都是通过RecordCount和PageSize等属性计算出来的。
;