ASP.NET网页设计ASP.NET技能:GridView控件自界说分页详...
我觉得这个学习方法很重要。初学者应该跟我一样有同样一个毛病。那就是急于求成。很想就自己做出个小小的系统来。可真要动手,却又茫然而不知所措。为什么会这样呢?因为我们没有耐心去学习基础知识。写根本看不到什么效果的测试代码。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。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页:
[1]