本文主要是介绍【牛腩新闻发布系统】--Repeater与GridView,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
牛腩进行到前后台整合阶段了,于是也有一些没有接触过的东西陆续出现,Repeater与GridView就是其中之一。牛腩老师说Repeater产生的多余代码特别少,所以最好用Repeater,但是在牛腩新闻发布系统中依旧使用了GridView,所以就证明他们各有优缺点。
GridView
优点:
(1)由WebControl派生出来的,拥有WebControl样式属性,自身会被解析为table,每一行都会被解析成tr-td;
(2)功能最强大,提供分页,编辑,删除,选择等等很多功能,使用最方便,直接拖拽到页面上,建立新的数据源,点几下鼠标就可以维护一个表的浏览、增加、删除和修改了;
(3)模板已经定制好。
缺点:
(1)占用系统资源大,他的分页是把整个表的数据取出来,到gridview上分页的,因此如果数据量比较大的时候,速度非常非常慢,效率极低;
(2)而且因为模板已经定制好,想自己灵活控制,不太容易。
Repeater
优点:
(1)功能简单,效率高,容易灵活控制生成的HTML代码,整体来说,如果用习惯repeater就会喜欢上,适合前台使用;
(2)他只是循环内容,不用产生.net指定的一系列垃圾代码;
缺点:
(1)Repeater是从Control派生出来的,它只是重复模板中的内容,这也是为什么repeater没有提供ItemStyle,SelectItemTemplate这些模板和样式控制的原因;
(2)虽不用产生.net指定的一系列垃圾代码,但同时他也失去了.net提供的部分功能。
代码体现
GridView
<asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" BorderWidth="0" GridLines="None"><Columns><asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category"><ItemTemplate><a class="td_category" href='list.aspx?caid=<%#Eval("caId") %>'>[<%# Eval("name") %>]</a></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="新闻标题"><ItemTemplate><a href='newscontent.aspx?newsid=<%#Eval("id")%>' target="_blank" title='<%# Eval("title") %>'><%# StringTruncat(Eval("title").ToString(), 18 ,"...") %></a></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time" ><ItemTemplate><asp:Label ID="Label3" runat="server" Text='<%# Bind("createtime") %>'></asp:Label></ItemTemplate></asp:TemplateField></Columns></asp:GridView>
Repeater
<asp:Repeater ID="repCategory" runat="server"><ItemTemplate><li><a href='list.aspx?caid=<%# Eval("id") %>'><%# Eval("name") %></a></li></ItemTemplate></asp:Repeater>
总结
从使用上讲的话,就要看我们比较善于使用哪个了,Repeater比较容易设置样式,功能比较少,所以就减少了多余代码的产生;GridView比较容易做增删改等操作。
这篇关于【牛腩新闻发布系统】--Repeater与GridView的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!