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

相关文章

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点:

SpringMVC前后端传值的几种实现方式

《SpringMVC前后端传值的几种实现方式》本文主要介绍了SpringMVC前后端传值的方式实现,包括使用HttpServletRequest、HttpSession、Model和ModelAndV... 目录一、从Controller层到JSP界面1、使用HttpServletRequest的方式2、使

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错