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

相关文章

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

Java中的CompletableFuture核心用法和常见场景

《Java中的CompletableFuture核心用法和常见场景》CompletableFuture是Java8引入的强大的异步编程工具,支持链式异步编程、组合、异常处理和回调,介绍其核心用法,通过... 目录1、引言2. 基本概念3. 创建 CompletableFuture3.1. 手动创建3.2.

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

Mybatis的mapper文件中#和$的区别示例解析

《Mybatis的mapper文件中#和$的区别示例解析》MyBatis的mapper文件中,#{}和${}是两种参数占位符,核心差异在于参数解析方式、SQL注入风险、适用场景,以下从底层原理、使用场... 目录MyBATis 中 mapper 文件里 #{} 与 ${} 的核心区别一、核心区别对比表二、底

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MybatisPlus中几种条件构造器运用方式

《MybatisPlus中几种条件构造器运用方式》QueryWrapper是Mybatis-Plus提供的一个用于构建SQL查询条件的工具类,提供了各种方法如eq、ne、gt、ge、lt、le、lik... 目录版本介绍QueryWrapperLambdaQueryWrapperUpdateWrapperL

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4