留言簿

我要留言
留言搜索

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>&lt;webdiyer:aspnetpager id=&quot;AspNetPager1&quot; runat=&quot;server&quot; PageSize=&quot;20&quot; ShowInputBox=&quot;Always&quot; SubmitButtonText=&quot;转到&quot;<br>								FirstPageText=&quot;首页&quot; LastPageText=&quot;尾页&quot; NextPageText=&quot;下页&quot; PrevPageText=&quot;上页&quot; ShowCustomInfoSection=&quot;Left&quot;<br>								CustomInfoSectionWidth=&quot;50%&quot; CustomInfoTextAlign=&quot;Center&quot; AlwaysShow=&quot;True&quot; OnPageChanged=&quot;AspNetPager1_PageChanged&quot; CustomInfoHTML=&quot;&quot; UrlPaging=&quot;True&quot; ReverseUrlPageIndex=&quot;True&quot; ShowNavigationToolTip=&quot;True&quot;&gt;&lt;/webdiyer:aspnetpager&gt;<br><br><br><br>后台代码:<br><br>    private void showdata()<br>    {<br>        string wyxID = Request[&quot;classid&quot;];<br>        DataSet ds = Socut.Data.ExecuteDataSet(&quot;SELECT * FROM wyx_text WHERE wyx_class=&quot;+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(&quot;SELECT COUNT(*) FROM wyx_text&quot;);<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(&quot;select * from video order by id desc&quot;, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize)<br>  和 AspNetPager1.RecordCount = (int)Socut.Data.ExecuteScalar(&quot;SELECT COUNT(*) FROM video&quot;) 这两句应该怎么写?<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 &lt; &gt; and use CSS styles look like buttons.<br>&lt;style&gt;<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>&lt;/style&gt;<br><br>&lt;A HREF=&quot;http://www.yahoo.com/&quot; CLASS=&quot;buttontext&quot;&gt;<br>&lt;SPAN ID=&quot;mybutton&quot; onMouseOver=&quot;this.className='buttonover';&quot;<br>   onMouseOut=&quot;this.className='buttontext';&quot;&gt;&gt;&lt;/SPAN&gt;&lt;/A&gt;<br><br>How can I insert the above code so that the &lt; &gt; 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参数中获取分页总数确实是一个很方便的功能,我会考虑在以后的版本中加上这个功能。谢谢!
;