留言簿
留言成功,请等待站长审核,谢谢支持!
2008-02-16 09:11 wzwen
AspNetPager显示页数的小毛病<br><br><br>问题:<br><br>比如说现在表里只有8条记录,如果我设置每页显示5条记录,页面显示的总的页数比实际页数要多一页,最终显示有3页<br><br>如果我设置每页显示10条记录,则会老老实实的显示只有一页,晕死,请问前辈是怎么回事呢???<br><br><br><br>前台代码:<br><br><br><webdiyer:aspnetpager id="AspNetPager1" runat="server" PageSize="20" ShowInputBox="Always" SubmitButtonText="转到"<br> FirstPageText="首页" LastPageText="尾页" NextPageText="下页" PrevPageText="上页" ShowCustomInfoSection="Left"<br> CustomInfoSectionWidth="50%" CustomInfoTextAlign="Center" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged" CustomInfoHTML="" UrlPaging="True" ReverseUrlPageIndex="True" ShowNavigationToolTip="True"></webdiyer:aspnetpager><br><br><br><br>后台代码:<br><br> private void showdata()<br> {<br> string wyxID = Request["classid"];<br> DataSet ds = Socut.Data.ExecuteDataSet("SELECT * FROM wyx_text WHERE wyx_class="+wyxID, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize);<br> wyxList.DataSource = ds; //设置数据源 <br> wyxList.DataBind(); //绑定数据<br> }<br><br> protected void Page_Load(object sender, EventArgs e)<br> {<br> AspNetPager1.RecordCount = (int)Socut.Data.ExecuteScalar("SELECT COUNT(*) FROM wyx_text");<br><br> }<br><br> protected void AspNetPager1_PageChanged(object sender, EventArgs e)<br> {<br> showdata();<br> }
回复:您好,出现这个问题很明显是因为您设置的RecordCount即分页的总记录总大于实际要分页的记录总数,导致分页控件产生了多于实际记录的页数,从上面的代码中就可以看出,RecordCount属性的值是wyx_text的所有记录数,而您分页时取的却是使用where条件子句筛选后的记录,所以分页控件显示的页数是所有记录的页数,而不是用where子句筛选后的页数,您需要在设置RecordCount属性时也加入where子句使其与获取数据中的条件一样。
2008-02-15 21:30 ilovefei
你好,我想知道如何获得当前的页数,我现在用的是top分页方法,每次都要获得当前页,请指教
回复:使用CurrentPageIndex属性。
2008-02-15 21:25 bye1980
大哥:<br><br>你好,为何我用了下拉分页,选择下拉中的任一页,并没有跳转,而点数字页码按钮就可以跳,为什么呢?<br><br>下拉框中有事件吗?请指教。<br><br>另外,我用了无刷新的UpdatePanel1套着,是否有影响?谢谢大哥。
回复:我测试过可以的,您可以看看示例中使用UpdatePanel的例子,把文本框改为下拉框后仍然一样可以跳转分页,不信你可以在这里自己看一下效果:http://www.webdiyer.com/AspNetPager/demo/updatepanel/default.aspx。谢谢!
2008-02-15 21:24 bye1980
大哥:<br><br>你好,为何我用了下拉分页,选择下拉中的任一页,并没有跳转,而点数字页码按钮就可以跳,为什么呢?<br><br>下拉框中有事件吗?请指教。
回复:我测试过可以的,您可以看看示例中使用UpdatePanel的例子,把文本框改为下拉框后仍然一样可以跳转分页,不信你可以在这里自己看看:http://www.webdiyer.com/AspNetPager/demo/updatepanel/default.aspx。谢谢!
2008-02-14 16:17 zqhuoqilin
你好,我是个菜鸟,想问个简单问题,还请高手帮助。<br>如果只使用AspNetPager控件,而不使用Socut.Data控件,那么DataSet ds = Socut.Data.ExecuteDataSet("select * from video order by id desc", AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize)<br> 和 AspNetPager1.RecordCount = (int)Socut.Data.ExecuteScalar("SELECT COUNT(*) FROM video") 这两句应该怎么写?<br>请指教。
回复:对不起,AspNetPager和Socut.Data组件没有任何直接关系,而且我的示例项目中也没有用过这个组件,这个组件是另一个朋友开发的,我也没有用过,我想您下载的大概是Socut那个组件的分页示例,您可以在我的主页的下载页面下载一份AspNetPager示例项目自己看看,示例中除了一个Url重写组件外,没有使用别的第三方控件或组件。谢谢!
2008-02-14 10:08 jsnh74
AspNetPager1_PageChanged总是连续执行两遍.并没有把事件与事件处理程序关联了两次。AspNetPager1_PageChanged中仅调用一个过程,此过程就是从数据源中取出数据到DataRead 中,然后按自定义的表结构重填数据到Datatable 中,然后根据总数与每页个数实行分页,单步执行时发现,在调用完此过程后,紧接着此事件又开始执行,百思不得其解,望指教!
回复:您能否说下您的应用情况,比如使用什么分页方式,页面上有几个分页控件等,如有能够运行的例子发来更好。谢谢!
2008-02-13 23:30 bkosscus
I was wondering how you can effectively control the CSS styles for the text versions of the Previous and Next attributes? I basically want to take the < > and use CSS styles look like buttons.<br><style><br> #mybutton <br> {<br> border-width: 1px;<br> border-style: solid;<br> border-color: #BBBBBB;<br> background-color: #EEEEEE;<br> text-decoration: none;<br> width: 80px;<br> text-align: center;<br> height: 18px;<br> }<br><br> .buttontext {color: #888888;<br> text-decoration: none;<br> font: bold 11px Verdana;<br> cursor: hand;}<br><br> .buttonover {color: #888888;<br> text-decoration: none;<br> font: bold 11px Verdana;<br> cursor: hand;}<br></style><br><br><A HREF="http://www.yahoo.com/" CLASS="buttontext"><br><SPAN ID="mybutton" onMouseOver="this.className='buttonover';"<br> onMouseOut="this.className='buttontext';">></SPAN></A><br><br>How can I insert the above code so that the < > show up effectively in the AspNetPager control? Put the source above in a regular .HTM file and it works fine. In the control it is a tiny little box. Please help.<br><br>Thanks!
回复:I'm sorry that you cannot apply more than one css class to navigation buttons, and there's no way to set onMouseOver or other client events for these buttons. Thanks!
2008-02-03 11:27 yangh168
你好,不好意思,可能是我上次的问题没说清楚。我的问题是,我用了ajax的updatepanel,我用textbox分页的时候支持异步更新,而用dropdownlist时urlpaging要设为true分页控件才能起作用,能不能在用dropdownlist模式时,仍然像textbox模式一样,不用url刷新页面,直接支持异步更新,不然的话,我的ajax像没起作用一样,并且这样用户体验也不是太好。
回复:您好,不知您用的是哪个版本的分页控件?我测试了一下最新的7.0.2版的,在使用UpdatePanel及默认的Postback分页方式时,设置PageIndexBoxType="DropDownList"即使用下拉框显示页索引进行分页没有任何问题,不信您可以试试把示例项目中UpdatePanel文件夹下default.aspx中的分页控件加上PageIndexBoxType="DropDownList"再测试一下试试。谢谢!
2008-02-02 14:07 jsnh74
AspNetPager1_PageChanged为什么总是连续执行两遍?同GridView1_PageIndexChanging一样?
回复:您是否把事件与事件处理程序关联了两次呢??
2008-02-02 10:58 czdyingzi
不明白为什么你URL分页控件非要在PageLoad里先计算出总数.也许你是需要这个总数算出页玛来..既然是写控件,当然是要使用者写最少的代码,我把你的控件改成了从地址栏上获取页玛了.我建议你这个URL分页最好改成从地址栏上获取页玛
回复:您好,从Url中获取分页总数是不错的主意,之所以我没有这样做是考虑到url中的参数容易被修改而导致分页出错,如果不考虑这方面的问题从Url参数中获取分页总数确实是一个很方便的功能,我会考虑在以后的版本中加上这个功能。谢谢!