【牛刀小试】——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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题