——ASP.NET 数据绑定 2002-2008 第五章 软件开发中的数据绑定技术 议程 ※ ASP.NET 基本数据访问 ※数据展现  手工数据展现  绑定到 Asp.Net 的 Web 控件 绑定到 GridView 、 DetailsView 、 FormView 、 DataListView.

Slides:



Advertisements
Similar presentations
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
Advertisements

第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
Web程序设计基础 太原理工大学 计算机科学与技术学院 林福平 求实创新
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
連結資料庫 ACCESS MSSQL.
Chapter 12 T-SQL 語法與 ASP.NET.
第2章 ADO.NET 2.0概述.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SQL Injection.
1 创建SqlDataSouce控件 数据源控件(SqlDataSource)
走进编程 程序的顺序结构(二).
第六单元 ADO.net数据库操作 劳动和社会保障部全国计算机信息高新技术考试指定教材——ASP.NET.
网络常用常用命令 课件制作人:谢希仁.
第10章 網頁資料庫的顯示與維護 10-1 再談資料控制項 10-2 GridView控制項 10-3 DetailsView控制項
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
第10章 網頁資料庫顯示與維護控制項 10-1 資料來源控制項 10-2 Repeater控制項 10-3 DataList控制項
DevDays ’99 The aim of this mission is knowledge..
数据库技术与应用 (开学篇) 同济大学.
任务1-3 使用Dreamweaver创建ASP网页
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
  重复列表控件(Repeater)是一个可重复操作的控件。它能够通过使用模板显示一个数据源的内容, 而且开发人员可以轻松的配置这些模板,Repeater 控件包括如标题和页脚这样的数据,它可以遍历所有 的数据选项并将其应用到模板中。 重复列表控件并不是从 WebControl 派生出来,重复列表控件可以直接操控.
第8章 ASP.NET中的数据绑定.
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
Web安全基础教程
SQL 范引娣.
第 10 章 ADO.NET與XML.
VisComposer 2019/4/17.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
Web安全基础教程
Chapter 17 購物網站 (1) - 產品目錄與購物車.
ES 索引入门
数据库系统与应用实验 基于SQL Server 2005.
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
Delphi 7.0开发示例.
Chapter 18 購物網站 (2) - 訂單與產品管理.
SpringerLink数据库使用说明 上海师范大学图书馆
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
第七讲 酒店客房管理系统(三) 教育部“十二五”职业教育国家规划教材
数据库应用技术 天津电大 翟迎建.
JUDDI安装手册.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

——ASP.NET 数据绑定 第五章 软件开发中的数据绑定技术

议程 ※ ASP.NET 基本数据访问 ※数据展现  手工数据展现  绑定到 Asp.Net 的 Web 控件 绑定到 GridView 、 DetailsView 、 FormView 、 DataListView  定制分页和排序  数据选择 单选和多选

1.1 我们的数据源 ※数据库  SQL Server 2005 Express 数据库  MCS-SampleDB 中存放了 Orders 、 Orders_Products 及其参数表  可以自动生成测试数据 EXECUTE CreateRandomOrders n ※ Demo

1.2 数据源控件 数据源控件说明 ObjectDataSource 使您能够处理业务对象或其他类,并创建依赖 于中间层对象来管理数据的 Web 应用程序。 SqlDataSource 使您能够处理 ADO.NET 托管数据提供程序, 该提供程序提供对 Microsoft SQL Server 、 OLE DB 、 ODBC 或 Oracle 数据库的访问。 AccessDataSource 使您能够处理 Microsoft Access 数据库。 XmlDataSource 使您能够处理 XML 文件,该 XML 文件对诸如 或 控件等分层 ASP.NET 服务器控件极为有用。 SiteMapDataSource 与 ASP.NET 站点导航结合使用。

1.3 数据绑定控件 ※列表控件  以各种列表形式呈现数据。列表控件包括 BulletedList 、 CheckBoxList 、 DropDownList 、 ListBox 和 RadioButtonList 控件。 ※ AdRotator  将广告作为图像呈现在页上,用户可以单击该图像来转到与广告关联的 URL 。 ※ DataList  以表的形式呈现数据。每一项都使用您定义的项模板呈现。 ※ DetailsView  以表格布局一次显示一个记录,并允许您编辑、删除和插入记录。您还可 以翻阅多个记录。 ※ FormView  与 DetailsView 控件类似,但允许您为每一个记录定义一种自动格式的布 局。对于单个记录, FormView 控件与 DataList 控件类似。 ※ GridView  以表的形式显示数据,并支持在不编写代码的情况下对数据进行编辑、更 新、排序和分页。

1.4 数据绑定表达式语法 ※使用数据绑定语法,可以将控件属性值绑定到数据,并指定值以 对数据进行检索、更新、删除和插入操作。 ※数据绑定表达式包含在 分隔符之内,并使用 Eval 和 Bind 函数。  Eval 函数用于定义单向(只读)绑定。  Bind 函数用于定义双向(可更新)绑定。 ※除了通过在数据绑定表达式中调用 Eval 和 Bind 方法执行数据绑 定外,还可以调用 分隔符之内的任何公共范围代码, 以在页面处理过程中执行该代码并返回一个值。

1.5 查询和手工绑定 ※数据访问  配置连接串  编写数据访问代码 ※设计页面  设计之前检查有没有用例图和用例描述  页面整体的布局符合项目规范 Skin 、 CSS 、 MasterPage 等  页面的内容是否可编辑,内容的可见性  页面和其它页面的关系

1.5.1 手工绑定 ※简单赋值 ※根据返回集生成表格  遍历 DataView 的行和列  动态地生成 Html 表格 包括标题行和内容 通过 HtmlTable 、 HtmlTableRow 、 HtmlTableCell 也可以直接生成 Html 字符串  注意内容需要 HtmlEncode  格式化字段的值 ( 日期 ) ※ Demo

1.5.2 手工绑定 ※练习  编写一个方法,返回 50 行 ORDERS 表中的记录  将返回的 50 行记录展现为一个 Html 表格 表格中, PRIORITY 列,需要用文字 “ 高 ” 、 “ 中 ” 、 “ 低 ” 来替代原来数字 1 、 0 、 -1 表格中, “CUSTOMER_NAME” 的值需要用一个链接来表示,指向另外 一个列表页面,列出该 ORDER 的明细 (ORDERS_PRODUCTS)

1.6 绑定到 ASP.Net 的数据控件 ※绑定到 GridView  定制列标题、列的属性  Enable 分页和排序 ※练习

1.6.1GridView 控件 ※ GridView 控件用来在表中显示数据源的值。每列表示一个字段, 而每行表示一条记录。 GridView 控件支持下面的功能:  绑定至数据源控件,如 SqlDataSource 。  内置排序功能。  内置更新和删除功能。  内置分页功能。  内置行选择功能。  以编程方式访问 GridView 对象模型以动态设置属性、处理事件等。  多个键字段。  用于超链接列的多个数据字段。  可通过主题和样式进行自定义的外观。

1.6.2 列字段 列字段类型说明 BoundField 显示数据源中某个字段的值。这是 GridView 控件的默 认列类型。 ButtonField 为 GridView 控件中的每个项显示一个命令按钮。这使 您可以创建一列自定义按钮控件,如 “ 添加 ” 按钮或 “ 移除 ” 按钮。 CheckBoxField 为 GridView 控件中的每一项显示一个复选框。此列字 段类型通常用于显示具有布尔值的字段。 CommandField 显示用来执行选择、编辑或删除操作的预定义命令按钮。 HyperLinkField 将数据源中某个字段的值显示为超链接。此列字段类型 允许您将另一个字段绑定到超链接的 URL 。 ImageField 为 GridView 控件中的每一项显示一个图像。 TemplateField 根据指定的模板为 GridView 控件中的每一项显示用户 定义的内容。此列字段类型允许您创建自定义的列字段。

1.7SqlDataSource ※ SqlDataSource 控件使用 ADO.NET 类与 ADO.NET 支持的任何 数据库进行交互。 ※用于显示数据的其他控件(如 GridView 、 FormView 和 DetailsView 控件)结合使用,使用很少的代码或不使用代码就可 以在 ASP.NET 网页中显示和操作数据。 ※ SqlDataSource 控件会自动打开数据库连接,执行 SQL 语句或存 储过程,返回选定数据(如果有),然后关闭连接。 ※配置 SqlDataSource 控件时,将 ProviderName 属性设置为数据 库类型(默认为 System.Data.SqlClient )并将 ConnectionString 属性设置为连接字符串。

1.7.1 使用 SqlDataSource ※使用 SqlDataSource 控件连接至数据源 ※使用 SqlDataSource 控件发出数据命令 ※返回 DataSet 或 DataReader 对象 ※使用 SqlDataSource 控件进行缓存 ※使用 SqlDataSource 控件进行筛选 ※使用 SqlDataSource 控件进行排序

1.7.2 绑定到数据控件 ※绑定到 GridView  绑定到 SqlDataSource 数据源 设置 SelectCommand 设置查询参数 GridView 的可编辑性 ※练习

1.8FormView 控件 ※ FormView 控件用于显示表中数据源的单个记录。该控件与 DetailsView 控件相似。 ※使用 FormView 控件时,由您指定模板以显示和编辑绑定值。模 板中包含用于创建窗体的格式、控件和绑定表达式。 FormView 控 件通常与 GridView 控件一起用于主控 / 详细信息方案。 ※ FormView 控件和 DetailsView 控件之间的差别在于 DetailsView 控件使用表格布局,在该布局中,记录的每个字段都各自显示为 一行。而 FormView 控件不指定用于显示记录的预定义布局。 ※ FormView 控件通常用于更新和插入新记录,并且通常在主 / 详细 方案中使用,在这些方案中,主控件的选中记录决定要在 FormView 控件中显示的记录。 ※ FormView 控件可以自动对它的关联数据源中的数据进行分页,一 次一个记录,但前提是数据由实现 ICollection 接口的对象表示或 基础数据源支持分页。

1.8.1PagerTemplate CommandArgument 值说明 “Next” 导航至下一页。 “Prev” 导航至上一页。 “First” 导航至第一页。 “Last” 导航至最后一页。 整数值导航至指定页码。

1.8.2FormView 事件 ※ PageIndexChanging 在单击某个页导航按钮时发生,但在 FormView 控件执行分页操作之前。此事 件通常用于取消分页操作。 ※ PageIndexChanged 在单击某个页导航按钮时发生,但在 FormView 控件执行分页操作之后。此事件 通常用于在用户定位到控件中不同的记录之后需要执行某项任务时。 ※ ItemCommand 在单击 FormView 控件中的某个按钮时发生。此事件通常用于在单击控件中的某个按 钮时执行某项任务。 ※ ItemCreated 在 FormView 控件中创建完所有 FormViewRow 对象之后发生。此事件通常用于在显示 行之前修改行中将要显示的值。 ※ ItemDeleting 在单击 Delete 按钮(其 CommandName 属性设置为 “Delete” 的按钮)时发生,但在 FormView 控件从数据源删除记录之前。此事件通常用于取消删除操作。 ※ ItemDeleted 在单击 Delete 按钮时发生,但在 FormView 控件从数据源删除记录之后。此事件通常用 于检查删除操作的结果。 ※ ItemInserting 在单击 Insert 按钮(其 CommandName 属性设置为 “Insert” 的按钮)时发生,但在 FormView 控件插入记录之前。此事件通常用于取消插入操作。 ※ ItemInserted 在单击 Insert 按钮时发生,但在 FormView 控件插入记录之后。此事件通常用于检查插 入操作的结果。 ※ ItemUpdating 在单击 Update 按钮(其 CommandName 属性设置为 “Update” 的按钮)时发生,但在 FormView 控件更新记录之前。此事件通常用于取消更新操作。 ※ ItemUpdated 在单击 Update 按钮时发生,但在 FormView 控件更新行之后。此事件通常用于检查更 新操作的结果。 ※ ModeChanging 在 FormView 控件更改模式(更改为编辑、插入或只读模式)之前发生。此事件通常 用于取消模式更改。 ※ ModeChanged 在 FormView 控件更改模式(更改为编辑、插入或只读模式)之后发生。此事件通常 用于在 FormView 控件更改模式时执行某项任务。 ※ DataBound 此事件继承自 BaseDataBoundControl 控件,在 FormView 控件完成对数据源的绑定后 发生。

1.9XmlDataSource 控件 ※ XmlDataSource 控件显示分层 XML 数据,但可以使用该控件同 时显示分层数据和表格数据。 ※ XmlDataSource 从使用 DataFile 属性指定的 XML 文件加载 XML 数据。另外,还可以从使用 Data 属性的字符串加载 XML 数据。 ※ XmlDataSource 控件将 XML 元素的属性公开为可绑定数据的字 段。如果要绑定非属性的值,则可以使用可扩展样式表语言 (XSL) 样式表指定转换。

1.10 性能和安全考虑 ※性能  避免在列表展现过程中,循环执行 SQL 查询 Demo , DataList 和 DetailsView  大数据量对分页和排序的影响 不要试图返回过大的数据行 慎用 SELECT * FROM … 警惕排序对性能的影响 ※安全  杜绝 SQL 注入式攻击  输出结果时,注意 Html 编码

性能和安全考虑 ※练习  利用 SQL Server 2005 ,一次仅返回一页数据  手工控制 GridView 的翻页和排序 WITH OrderedOrders AS ( SELECT ORDERS.*, SELECT ORDERS.*, ROW_NUMBER() OVER(ORDER BY SORT_ID) AS ROW_NUMBER FROM ORDERS FROM ORDERS) SELECT ROW_NUMBER, * FROM OrderedOrders WHERE ROW_NUMBER >= 1 AND ROW_NUMBER = 1 AND ROW_NUMBER <= 20;

1.11 数据选择 ※单选  在 GridView 中增加选择列  获取当前选择行的键值  通常单选操作用于编辑或查看明细  一旦选择,操作就应该执行 ※多选  在 GridView 中添加复选框  添加客户端脚本,汇总客户端的选择的内容  在 GridView 翻页或排序对选择项的影响  多选操作通常用于批量操作

数据选择 ※练习  在 GridView 上分别实现单选和多选记录行,将选中的记录行进行删 除

小结 & 问题讨论 孔子说: “ 学而不思则罔,思而不学则殆。 ”