【牛腩新闻发布系统】--Repeater与GridView

2024-02-18 13:18

本文主要是介绍【牛腩新闻发布系统】--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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/721266

相关文章

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。