牛腩完成了,我觉得重头戏在最后的分页上,因为通过对ITOO界面的逐步了解。我觉得,分页就是面向对
象的一大步,在整理了分页的逻辑,加上师傅和同学的一些好的建议,所以想写出来这篇文章跟大家分享我是如何敲
分页的。
逻辑是执行力的基础
在开始敲分页的之前,我很认真的理了一下分页的逻辑,不过就是简单的三层逻辑:
D层:在D层写分页的查询数据,这里需要强调的是怎么查?通过对牛腩视频的理解,就需要两个参
数:startRecord与endRecord,并且需要返回datatable表。
public DataTable Paging(int startrecord,int endrecord) { DataTable dt = new DataTable(); //查询出新闻放在临时表temptbl中,然后从中进行查询并取出指定的数据值。 string sql = "with temptbl as (select ROW_NUMBER () over (order by id desc )as 行号,* from news)select * from temptbl where 行号 between " + startrecord + " and " + endrecord; SqlParameter[] paras = new SqlParameter[] { new SqlParameter ("@startrecord",startrecord ), new SqlParameter ("@endrecord",endrecord ) }; dt = sqlhelper.ExecuteQuery(sql, paras, CommandType.Text ); return dt; }
B层:调用D层的分页方法:
public DataTable Paging(int startrecord, int endrecord) { return ndao.Paging(startrecord ,endrecord ); }
U层:首先需要在界面引入AspnetPager这个控件,在服务端代码区设置分页的一些显示:
<webdiyer:AspNetPager ID="anp" runat="server" OnPageChanged="anp_PageChanged" FirstPageText ="首页" LastPageText ="尾页" NextPageText ="下页" PageSize="5" > </webdiyer:AspNetPager>然后在客户端代码区设置具体的实现:protected void anp_PageChanged(object sender, EventArgs e) { //分页变量定义 NewsManager nm = new NewsManager(); DataTable temptbl = new DataTable(); News n = new News(); string id = n.Id; int startrecord; int endrecord; //分页显示 anp.RecordCount = nm.SelectAll().Rows.Count; //给startrecord与endrecord赋初值 startrecord = 0; endrecord = 0; //获取当前分页页码 int i = anp.CurrentPageIndex - 1; //根据页面查询数据 startrecord = 5 * i + 1; endrecord = startrecord + 4; repNews.DataSource = nm.Paging(startrecord, endrecord); repNews.DataBind(); }这里特别想强调的是变量“i”的获取值CurrentPageIndex。之前总是觉得用循环就行,但是出来的结果总是
第一条和最后一条,中间的数据始终出不来。所以跟师傅一起探讨了一下,发现我的循环变量用的不对。既然想要达
到分页的效果,那么就必须得将界面上的页码运用起来才行,不然页面上的页面就没有起到作用。所以我把循环去
掉,通过界面页码的切换,达到对当页数据的更新。
总结是一切收获的前提
完成了牛腩,还是挺有自豪感的。半个月的时间,虽然期间因为一些事延期了几天,但是总体来说,对自
己的效率还是比较满意的。特别是经历过个人版的机房重构之后,更加的清楚自己的一些问题在哪,在牛腩中也算是
得到了较大的改善了。现在说说我的一些变化:
在敲个人版机房的时候特别没有时间观念,延期协商一次一次又一次。而且时间拖的越长自己越是不想动
它,所以造成机房是一拖再拖。
在牛腩中,我把整体的时间都定的较为紧张,锻炼自己的对资料已经自己时间的一些把握。另外就是把计
划严格执行,杜绝自己的偷懒心理。
心态转变
开始牛腩就相当于开始的B/S,一个新的阶段,所以在完成起来特别的带劲。加上牛腩视频真的是太搞笑
了,几次看视频都能笑出声,因为喜欢这个视频,所以愿意继续往下看。63集看下来,说实话,真的跟看电视剧似
的,基本上没怎么吃力,期间调试代码都觉得是在添乐。
毕业季感想
在面临毕业的这一刻,在别人迷茫、苦恼、无措的时候。我在坚定信念的学习,并且拥有家里精神+经济的
支持,还有顺便参加的自学考试。都让我觉得自己真的是在为自己的将来打拼,自己在为自己努力,我很享受现在的
生活,很感谢现在的自己做出的选择。因为我们这群人注定跟别人不一样!