|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。asp.net|分页|技能|控件|详解前些天我写了关于<<在存储过程当中完成分页>>和<<GridView控件事务详解>>,厥后又有一些人问我如何在GridView中使用这个东东!实在很复杂,次要是怎样保留以后页面的页码PageIndex成绩,不外把这个办理了甚么都好办了.由于在分页过程当中:PageSize是必定的,我们能够用一个属性来暗示.保留PageIndex很多多少中办法,并且数据不是很复杂,基础不会好太多的资本.仍是一句老话,话再多都没有例子直不雅.
在这里我们将用一个埋没字段来保留这个PageIndex,即以后页码.当点击上一页时,将它的值减一,晓得为0,要注重的一点这里的第一页页码是0而不是1.上面看看代码,然后我们再剖析剖析!
1<asp:GridViewID="NewsGrid"runat="server"AutoGenerateColumns="False"AllowPaging="false"Width="100%">
2<Columns>
3<asp:BoundFieldDataField="NewsId"HeaderText="旧事ID"/>
4<asp:HyperLinkFieldDataNavigateUrlFields="NewsId"DataNavigateUrlFormatString="~/Details.aspx?ID={0}"
5DataTextField="Title"HeaderText="旧事题目"ItemStyle-Width="70%"/>
6<asp:BoundFieldDataField="PostTime"HeaderText="公布工夫"/>
7<asp:CommandFieldHeaderText="旧事办理"ShowCancelButton="False"ShowDeleteButton="True"
8ShowEditButton="True"/>
9</Columns>
10</asp:GridView>
11<divstyle="height:16px;padding-top:5px;margin-right:30px;float:right">
12<asp:HiddenFieldID="CurrentPage"runat="server"Value="0"/>
13<asp:LinkButtonID="First"runat="server"CommandArgument="first">首页</asp:LinkButton>
14<asp:LinkButtonID="Prev"runat="server"CommandArgument="prev">上一页</asp:LinkButton>
15<asp:LinkButtonID="Next"runat="server"CommandArgument="next">下一页</asp:LinkButton>
16<asp:LinkButtonID="Last"runat="server"CommandArgument="last">尾页</asp:LinkButton>
17</div>CS文件中的代码:
1protectedvoidPagerButton_Click(objectsender,EventArgse)
2{
3intpageIndx=Convert.ToInt32(CurrentPage.Value);
4inttotals=NewsManager.GetNews(0,pageSize).TotalRecords;
5intpages=(totals%pageSize)==0?(totals/pageSize):(totals/pageSize+1);
6stringarg=((LinkButton)sender).CommandArgument.ToString().ToLower();
7switch(arg)
8{
9case"prev":
10if(pageIndx>0)
11{
12pageIndx-=1;
13}
14break;
15case"next":
16if(pageIndx<pages-1)
17{
18pageIndx+=1;
19}
20break;
21case"last":
22pageIndx=pages-1;
23break;
24default:
25pageIndx=0;
26break;
27}
28CurrentPage.Value=pageIndx.ToString();
29NewsGrid.DataSource=NewsManager.GetNews(pageIndx,pageSize).Entities;
30NewsGrid.DataBind();
31}
是否是很复杂啊,看了代码就都懂了,关于用按钮传参数在这里就未几说了,另有一个就是Entities属性,在<<使用实体类EntitySet完成相似的范型功效>>这篇文章中能够找到
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。 |
|