【牛刀小试】——Repeater控件常见错误及几种相似控件的区别

2024-08-26 16:18

本文主要是介绍【牛刀小试】——Repeater控件常见错误及几种相似控件的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      引言

在进行新闻内容页绑定的时候遇到了一些问题(本来认为在整合的时候是比较简单的,但是现实总是很残酷的,以前都是一个功能一个功能的实现,都是直接调用每一层的方法,这次都是分层来编写的,在看着文档整合的时候都是眼泪啊.....不是方法名写的不正确就是参数写的少字母,哎。。。。。),但是这个问题还是比较陌生的,同样也是思想中一些固有的东西导致在调错的时候走错了方向。下面来看详情:

  错误重现

        

   错误分析

 当遇到这个问题的时候没有任何想法(可能是第一次遇到),看了看错误解析以后发现是有一个参数是空置,所以开始了我的漫漫调错过程,第一个想到的就是参数没有传进去,所以就走了一遍代码发现参数是有的,然后发现只要是在数据库中有相应的数据就会出现这个错误,当数据库中没有数据的时候就不会出现这个错误。所以断定是控件绑定的错误,也可能是没有返回数据。但是经过单步调试后发现后有数据返回,所以就剩下了控件绑定的可能。
 所以我就新建了一个窗体,在窗体上重新添加了一个repeater控件,但是还是不能显示数据,非常的郁闷,没有办法啊!!在这时候我有用了我们非常数据的数据承载控件——gridview,这时奇迹出现了,能顺利的显示数据。所以我把错误的范围定在前台的代码编写的地方,因为之前一直认为没有错误的前台,所以就没有用断点调试,现在缩小了范围后,终于找到了错误的地方:
 
  就是因为这个地方没有填写内容,所以就引发了这个错误!其实这是个很小的错误,但是因为之前我们总是在使用gridview这个控件——在显示数据的时候直接绑定datatable类型的数据就可以,所以在调试这个错误的时候找错了方向。所以大家在接触新的知识的时候一定要寻找和旧知识的不同,不能用旧思想来学习新的知识。

  几种控件的对比

 在看了这么久的错误分析以后,我在解决了思想方面的东西以后,还在网上查了一些资料对于ASP.NET中几种和数据显示有关的控件的区别,给大家作为一个知识储备,等到用的的时候可以来看看。

  1.GridView控件

   这个控件可以以表格形式(table标签)显示、编辑和删除多种不同的数据源(例如数据库、XML文件以及集合等)中的数据。GridView控件功能非常强大,如果需要,编程者可以不用编写任何代码,通过VS 2008拖拽,并从属性面板设置属性即可,还可以完成如分页、排序、外观设置等功能。虽然功能非常齐全,但程序性能将受到影响,在页面中最好不要过多地使用该控件。当然,如果需要自定义格式显示各种数据,GridView控件也提供了用于编辑格式的模板功能。

 2.DataList控件

  该控件可以以自定义的格式(不一定用table标签)显示各种数据源的字段,其显示数据的格式在创建的模板中定义,可以为项、交替项、选定项和编辑项创建模板。DataList控件也可以使用标题、脚注和分隔符模板自定义整体外观,还可以一行显示多个数据行。虽然DataList控件拥有很大的灵活性,但其本身不支持数据分页,编程者需要通过自己编写方法完成分页的功能。

 3.DetailsView控件

   DetailsView控件以表格形式(table标签)一次仅显示数据源的单条记录,并且table标签下的每行(tr标签)表示记录中的一个字段。这个控件同样支持数据的编辑、插入和删除操作,并可以轻松地设置分页功能,但是DetailsView控件本身不支持数据排序。

 4.FormView控件

  与DetailsView控件类似,FormView控件仅可显示数据源中的单条记录。和DetailsView控件不同,DetailsView控件采用表格布局(table标签),记录的每个字段都各自显示为一行。而FormView控件没有用于显示记录的预置布局,编程者需要自己创建子项模板,编写各种用于显示记录中的字段的控件以及布局用的其他HTML标签。和DetailsView控件一样,FormView控件可以轻松地启用分页功能。如果仅仅显示单条记录,FormView控件是比较推荐的方法,因为可以在高效开发的同时自定义数据显示的格式。

 5.Repeater控件

  在ListView控件出现之前,这是笔者比较常用的控件,因为Repeater 控件是一个数据绑定容器控件,用于生成各个子项的列表,这些子项的显示方式可以完全由编程者自己编写。当控件所在页面运行时,该控件根据数据源中数据行的数量重复模板中所定义的数据显示格式,编程者可以完全把握数据的显示布局,如使用div元素、ul元素等。
注意:Repeater控件仅提供重复模板内容功能,不提供如分页、排序、编辑等功能,这些功能需要编程者自己编写方法实现。

 6.ListView控件

  ListView控件会按照编程者编写的模板格式显示数据。与DataList和Repeater控件相似,ListView控件也适用于任何具有重复结构的数据。不过,ListView控件提供了用户编辑、插入和删除数据等数据操作功能,还提供了对数据进行排序和分页的功能,只需要在VS 2008中直接设置即可,不需要编写代码,这点非常类似于GridView控件。可以说,ListView既有Repeater控件的开放式模板,又具有GridView控件的编辑特性。
说明:ListView控件是ASP.NET 3.5新增的控件,其分页功能需要配合DataPager控件实现。


这篇关于【牛刀小试】——Repeater控件常见错误及几种相似控件的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字