版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章数据绑定1什么是数控绑定?
数据绑定就是把页面上的控件与数据源中的数据关联起来,从而使控件自动显示数据或通过控件直接编辑数据源的数据。数据绑定为应用程序提供了一种显示数据以及与数据交互的简单方法。数据源主要包括:数据集DataSet、数组、集合(Array、ArrayList等)。
数据绑定控件主要用于以多种方式显示数据。结合使用数据源控件和数据绑定控件,只需要设置相关属性,几乎不用编写任何代码即能存取数据库。常用的绑定控件:ListControl类控件(如:ListBox)GridView控件DetailsView控件2数据绑定控件3数据绑定的方法(1)使用绑定控件的DataSource属性和DataBind()将某个数据源或数据集合赋给绑定控件的DataSource属性。调用绑定控件的DataBind()方法。
例1:绑定DataSet对象中的数据表例2:绑定数组(2)将绑定控件的DataSourceID属性设置成数据源控件根据所使用的数据库创建对应的数据源控件。将数据绑定控件的DataSourceID属性设置为数据源控件的ID值。
数据源控件封装所有获取和处理数据的功能,主要包括连接数据源、自动生成并执行Select、Update、Delete和Insert等SQL语句获取和管理数据等。SqlDataSource控件AccessDataSource控件XmlDataSource控件SiteMapDataSource控件ObjectDataSource控件4数据源控件5SqlDataSource控件
可以访问SQLServer数据库、Access数据库、Oracle数据库、OLEDB数据源和ODBC数据源。语法格式:<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="str"DataSourceMode="DataSet"SelectCommandType="Text"SelectCommand="str"InsertCommandType="Text"InsertCommand="str"UpdateCommandType="Text"UpdateCommand="str"DeleteCommandType="Text"DeleteCommand="str"FilterExpression="string"ProviderName="string"></asp:SqlDataSource>5.1SqlDataSource常用属性表ConnectionString获取或设置连接到数据库的字符串。ProviderName获取或设置连接数据源的提供程序名称。DataSourceMode获取或设置获取数据时所使用的数据返回模式。值DataReader表示获取只读数据;值为DataSet表示获取数据可更改。默认值为DataSet。DeleteCommand获取或设置用于删除数据的SQL语句或存储过程名。DeleteCommandType获取或设置属性DeleteCommand值的类型。Text表示SQL语句;StoreProcedure表示存储过程。默认值为Text。DeleteParameters获取DeleteCommand值中出现的参数集合。InsertCommand获取或设置用于插入数据的SQL语句或存储过程名。InsertCommandType获取或设置属性InsertCommand值的类型。InsertParameters获取属性InsertCommand值中出现的参数集合。SelectCommand获取或设置用于查询数据的SQL语句或存储过程名。SelectCommandType获取或设置属性SelectCommand值的类型。SelectParameters获取SelectCommand值中出现的参数集合。UpdateCommand获取或设置用于更新数据的SQL语句或存储过程。UpdateCommandType获取或设置UpdateCommand值的类型。UpdateParameters获取属性UpdateCommand值中出现的参数集合。SqlDataSource的数据命令说明SqlDataSource的数据命令根据其功能的不同分为两类:数据查询(Select)和数据更改(insert/update/delete)。他们对应于控件的四个命令属性。命令属性可以设置成Sql语句或存储过程,可以根据需要传入参数。
SelctCommand属性命令用于告诉SqlDataSource控件使用什么样的select语句或能返回记录集的存储过程来查询数据中的数据。
InsertCommand/UpdateCommand/DeleteCommand属性命令用于告诉SqlDataSource控件使用怎样的insert/update/delete语句或存储过程来修改所连接的数据库中的数据。
5.2配置SqlDataSource数据源控件的方法手工编写代码设置其相关属性。按“配置数据源”向导逐步设置,不需编写代码就能将数据源控件连接到数据库上,并且其属性能自动被设置。在属性窗口中设置数据源控件的相关属性。利用向导“配置数据源”若将以上复选框选中,则将连接字符串存储在web.config文件的<connectionStrings>配置节中,如下所示:说明:可以看出通过向导进行配置后,数据源控件必须包括
ConnectionString属性和SelectCommand属性。5.3配置SelectCommand命令
配置SelectCommand命令有三种方法:在“配置Select语句”这步骤中,选择“来自表或视图的列”则可以勾选表的字段复选框来自动生成Select命令。点击“WHERE”按钮可为Select命令创建有参数的Where子句。在“配置Select语句”这步骤中,选择“指定自定义SQL语句或存储过程”,则可手动书写Select语句或指定包含有Select语句的存储过程。当然,也可以带有参数。在SqlDataSource控件的属性窗口中,通过SelectQuery属性栏,来配置Select命令。此种方式可以将SelectCommand命令设置成存储过程或SQL语句。若要修改已经设置了的Select命令,此方法比较简便。思考:以上三种方式中,哪些可以将SelectCommand命令设置成存储过程?5.4将SqlDataSource绑定到数据控件上
将SqlDataSource所连接的数据源绑定到控件上的步骤:拖入一个SqlDtaSource数据源控件,然后根据向导对其进行相关配置。拖入一个GridView控件到.aspx中。GridView控件的数据源选择为以上已配置好的SqlDtaSource数据源控件。可视化操作后自动生成的代码:说明:
当GridView1的DataSourceID属性设置为
SqlDataSource1时,GridView1会自动调用SqlDataSource1的SelectCommand命令属性检索数据库中的数据并显示出来。注意:当为GridView1配置利用DataSource属性时,需要调用DataBind()方法才能执行SelectCommand命令!5.5SqlDataSource的非查询操作命令设置mnd/DeleteCommand命令属性后,可以调用SqlDataSource控件Insert()/Update()/Delete()方法来执行相应的命令。配置非查询操作命令和配置Select命令一样,也有三种方法。在“配置Select语句”这步骤中,选择“来自表或视图的列”则可以勾选表的字段复选框来自动生成Select命令。然后点击“高级”按钮,弹出“高级SQL生成选项”,选中“生成INSERT、UPDATA、Delete语句”,可以通过Select语句自动生成非查询操作。注意:此方法需要求Select语句中包含主键或惟一键。在“配置Select语句”这步骤中,选择“指定自定义SQL语句或存储过程”,则可手动书写Insert/Update/Delete语句或存储过程。当然,他们都可以带有参数。可以通过SqlDataSource属性窗口的“InsertQurey”/“UpdateQurey”/“DeleteQurey”属性栏设置
mnd/DeleteCommand命令属性,此种方式可以将命令设置成存储过程或SQL语句。可以调用SqlDataSource控件Insert()/Update()/Delete()方法来执行相应的命令。思考:以上三种方式中,哪些可以将非查询命令设置成存储过程?.aspx.cs文件试试:为SqlDataSource1设置UpdateCommand命令或DeleteCommand命令,然后调用Update()或Delete()来执行相应的命令。5.5命令设置成存储过程
将命令设置成存储过程的方法:在“配置Select语句”这步骤中,选择“指定自定义SQL语句或存储过程”,则可以将某个SelectCommand/InsertCommand/UpdateCommand/DeleteCommand设置成存储过程。当然,存储过程都可以带有参数。可以通过SqlDataSource属性窗口的“SelectQury”/“InsertQurey”/“UpdateQurey”/“DeleteQurey”
属性栏设置
SelectCommand/InsertCommand/mnd/DeleteCommand命令属性,此种方式可以将命令设置成存储过程。请将SqlDataSource控件的InsertCommand设置成以上存储过程!然后调用其Insert()来执行以上命令。请参考上一节例子。.aspx.cs文件5.6命令属性中的参数绑定SqlDataSource控件中的SelectCommand/mnd/DeleteCommand命令属性往往是带有参数的,SqlDataSource控件有五个参数集:SelectParameters/InsertParameters/UpdateParameters/DeleteParmeters.
每个参数集中的参数类型可以是:ControlParameter:实现控件值与参数的关联。CookieParameter:实现Cookie对象值与参数的关联。FormParameter:实现表单元素的值与参数的关联。QueryStringParameter:实现查询字符串值与参数的关联。ProfileParameter:实现用户配置文件属性值与参数关联。1、ControlParameter参数
ControlParameter指定页面上的一控件的某个属性值传入给某个参数。以下是ControlParameter的两个属性:ControlID:指定提供参数的控件。PropertyName:指定控件的哪个属性为参数提供值。由ControlParameter向有参数的命令传递值
由于四种命令中,每种命令都有三种配置方式。三种方式都可以进行参数绑定。.aspx文件配置SqlDataSouce1为select语句添加包含一个参数@name的where子句,然后将控件TextBox1绑定到参数@name上。自动生成的源码:说明:
以上设置是采用第①中方式来设置带参数的SelectCommand命令,且将通过ControlParameter为命令中的参数传递值。
请大家试下其他的两种方式!SessionParameter参数指定Session作为参数。使用SessionField指定提供参数的Session变量名称。由SessionParameter向有参数的命令传递值例如,已知一个Session:
Session[“mz”]=“张三”则可以使用该Session作为SqlDataSource控件命令中的绑定参数。如下所示:6数据绑定控件--GridViewGridView是一个显示表格式数据的控件,该控件是ASP.NET服务器控件中功能最强大、最实用的一个控件。GridView显示一个二维表格式数据,每列表示一个字段,每行表示一条记录。GridView控件的主要功能是通过数据源控件自动绑定数据源的数据,然后按照数据源中的一行显示为输出表中的一行的规则将数据显示出来。该控件无须编写任何代码即可实现选择、排序、分页、编辑和删除功能。6.1GridView控件的常用属性名称说明AllowPaging指示是否启用分页功能AllowSorting指示是否启用排序功能AutoGenerateColumns指示是否为数据源中的每个字段自动创建绑定字段AutoGenerateDeleteButton指示每个数据行是否添加“删除”按钮AutoGenerateEditButton指示每个数据行是否添加“编辑”按钮AutoGenerateSelectButton指示每个数据行是否添加“选择”按钮EditIndex获取或设置要编辑行的索引DataKeyNames获取或设置GridView控件中的主键字段的名称。多个主键字段间,以逗号隔开DataSource获取或设置对象,数据绑定控件从该对象中检索其数据项列表DataSourceID获取或设置控件的ID,数据绑定控件从该控件中检索其数据项列表PageCount获取在GridView控件中显示数据源记录所需的页数PageIndex获取或设置当前显示页的索引PageSize获取或设置每页显示的记录数SortDirection获取正在排序列的排序方向SortExpression获取与正在排序的列关联的排序表达式注意:①以上属性大都可以通过可视化操作进行设置。
②DataSource与DataSourceID不能同时设置6.2设置GridView控件的样式属性说明RowStyle设置数据行的样式AlternatingRowStyle设置交替数据行的样式EditRowStyle设置正在编辑行的样式SelectedRowStyle设置选中行的样式PagerStyle设置页导航行的样式HeaderStyle设置标题行的样式FooterStyle设置脚注行的样式注意:可以在GridView的智能标记中选择“自动套用格式”来自动生成样式。常用的样式属性:6.3分页、排序、行选择
不需要编写任何代码,就能实现GridView控件的数据分页、排序、行选择,其步骤如下:1、配置好数据源,然后将其绑定到GridView控件上。2、然后按如下图所示,选中对应的复选框。查看源码视图,看下三个选项对应三个什么属性?运行结果:6.4编辑、删除数据1、在“配置Select语句”这步骤中,选择“来自表或视图的列”则可以勾选表的字段复选框来自动生成Select命令。然后点击“高级”按钮,弹出“高级SQL生成选项”,选中“生成INSERT、UPDATA、Delete语句”,可以通过Select语句自动生成非查询操作。
2、单击GridView控件的右上小三角的智能标记。选择“启用编辑”,为每行数据添加一个编辑按钮。单击编辑按钮,可使该行进入编辑状态,并出现更新和取消按钮,用于完成更新和取消操作。选择“启用删除”,可为每行数据添加一个删除按钮。单击删除按钮,可以删除该行数据。运行结果:注意:1、必须为SqlDataSource控件配置UpdateCommand/DeleteCommand,否则“启用编辑”/“启用删除”不可用。2、要使页面中的“编辑”或“删除”按钮可用,必须为GridView控件的DataKeyNames设置为主键或惟一键。3、以上配置好后,“编辑”或“删除”按钮将自动执行UpdateCommand/DeleteCommand命令6.5定制数据绑定列为开发人员提供了灵活的列定制功能,如增加复选框列、显示图像列等。需要设置属性AutoGenerateColumns值为false。实际上,GridView中的每一列都是一个DataControlField类,并从该类派生出不同类型的子类。不同类型的数据绑定列对应表类型说明BoundField用于显示普通文本内容。属性DataField设置绑定的数据列名称;属性HeaderText设置表头的列名称,如用于将原来为英文的字段名转换为中文显示。CheckBoxField用于显示布尔类型数据。CommandField用于创建命令按钮列。属性ShowEditButton、ShowDeleteButton、ShowCancelButton和ShowSelectButton设置是否显示对应类型的按钮。ImageField用于显示图片列。属性DataImageUrlField设置要绑定图片路径的数据列;属性DataImageUrlFormatString设置图片列中每个图像的URL的格式。HyperLinkField用于显示超链接列。属性DataTextField绑定的数据列将显示为超链接的文字;属性DataNavigateUrlFields绑定的数据列将作为超链接的URL地址。ButtonField定义按钮列,与CommandField列不同的是:ButtonField所定义的按钮与GridView没有直接关系,可以自定义相应的操作。TemplateField以模板的形式自定义数据列。1、BoundField列以文本形式显示数据表的字段。常用属性:DataField:在BoundField中显示的字段。ItemStyle:数据项的样式。HeaderText,HeaderStyle:标题文本,标题样式。FooterText,FooterStyle:脚注文本,脚注样式。DataFormatString:字段显示的格式化字符串。{0}表示字段的占位符,将字段原始形式显示出来。{0:F2}表示只显示字段值的2位有效数字。{0:d}表示日期只显示年月。ZK{0}表示字段值前面多了“ZK”两个字符。单击GridView控件的右上小三角的智能标记,单击“编辑列”生成的代码:
用于显示内置的按钮,包括编辑、更新、删除或选择操作的按钮。常用属性:ButtonType:按钮类型。取值为Button、Image或Link。ShowEditButton,ShowDeleteButton,ShowSelectButton:是否显示显示“编辑”、“删除”或“选择”按钮。EditText,EditImageUrl:“编辑”按钮的标题文本或显示的图像。2、CommandField列UpdateText,UpdateImageUrl:“更新”按钮的标题文本或显示的图像。CancelText,CancelImageUrl:“取消”按钮的标题文本或显示的图像。DeleteText,DeleteImageUrl:“删除”按钮的标题文本或显示的图像。SelectText,SelectImageUrl:“选择”按钮的标题文本或显示的图像。<asp:CommandFieldShowEditButton="true"ButtonType="Link"HeaderText="修改"/>
说明:定制CommandField列与“启用编辑”|“启用删除”效果一样。将数据源中的数据项显示为超级链接。Text:设置超链接显示的文本。NavigateUrl:设置连接地址。DataTextField:设置超链接显示的文本,此文本与数据库中的字段绑定。DataTextFormatString:获取或设置用于指定格式的字符串,HyperLinkField
对象中的超链接标题将以此格式显示。DataNavigateUrlFields:设置链接地址,此地址与数据库中的字段绑定。DataNavigateUrlFormatString
:获取或设置用于指定格式的字符串,HyperLinkField对象中的超链接的URL将以此格式呈现。3、HyperLinkField列4、CheckBoxField列将数据表中的布尔类型的数据项显示为复选框。通过设置DataField属性,可以将CheckBoxField绑定到具有布尔数据类型的字段。student表5、ImageField列ImageField显示图像字段,通过设置DataImageUrlField属性,可以将ImageField绑定到包含图像URL的数据源中的字段。Pic字段6、TemplateField列模板说明ItemTemplate为TemplateField对象中的项指定要显示的内容AlternatingItemTemplate为交替项指定要显示的内容EditItemTemplate为处于编辑模式中的项指定要显示的内容FooterTemplate为对象的脚注部分指定要显示的内容HeaderTemplate为标头部分指定要显示的内容数据绑定表达式1.使用Eval方法用于定义单向(只读)绑定,通常用在复杂数据绑定控件的模板中,显示数据的项。
<%#Eval("expression","format")%>expression是数据表中的一个字段名,format是一个格式字符串。例如,
<%#Eval("birthday","{0:d}")%>2.使用Bind方法用于定义双向(可更新)绑定,Bind方法除了可以显示数据项的值外,还可以对数据项进行编辑。例如,<EditItemTemplate><asp:TextBoxID="grade"Text='<%#Bind("score")%>'RunAt="Server"/></EditItemTemplate>举例:为sex和city建立模块列实现步骤:为sex列创建模板列的步骤删除自动自带的TextBox框RadioButtonList控件自动生成的代码:7DetailsView控件DetailsView控件概述
用于一次显示和编辑一条数据库记录,它把记录的每个字段显示在表格的一行中。拥有插入、删除和更新记录的能力,也支持记录间的导航。语法格式为:<asp:DetailsViewID="string"AllowPaging="False"AutoGenerateInsertButton="False"Caption="string"GridLines="None"AutoGenerateRows="True"DataKeyNames="string"DataMember="string"DataSource="string"DataSourceID="string"runat="server"><Fields></Fields></asp:DetailsView>1.显示数据将DataSourceID属性和SqlDataSource控件绑定。<asp:DetailsViewID="DetailsView1"AutoGenerateRows="True"DataKeyNames="no"DataSourceID="SqlDataSource1"runat="server"/>2.分页显示将AllowPaging属性设为true。可实现在记录间导航功能。3.编辑数据将AutoGenerateEditButton属性设置为true。4.定制行将AutoGenerateRows属性设置为false。插入:将AutoGenerateInsertButton属性设为true,可为控件添加“新建”按钮,使控件具有插入记录的能力。删除:将AutoGenerateDeleteButton属性设为true,为控件添加“删除”按钮,使控件具有删除记录能力EditItemTemplateInsertItemTemplate此时显示的是ItemTemplate,偶数行设置了AlternatingItemTemplate,那么偶数行则显示AlternatingItemTemplate定义模板与GridView控件一样,其模板列由一组HTML元素和服务器控件组成,它们构成控件的整个或特定部分的布局。模板说明AlternatingItemTemplate交错项模板。显示模式时偶行就是交错行ItemTemplate项模板。当控件处于显示模式时数据行的界面。EditItemTemplate编辑项模板。当控件处于编辑模式时数据行的界面。InsertItemTemplate插入项模板。当控件处于插入模式时数据行的界面。PagerTemplate页导航模板。用于显示一个页导航行。HeaderTemplate标题行模板。用于在控件顶部显示一个标题行。FooterTemplate脚注行模板。用于在控件底部显示一个脚注行。EmptyDataTemplate空数据行模板。在数据源没有返回数据行时使用。可以将某列转换成模板列,然后修改相应的模板,如EditItemTemplate或InsertItemTemplate8FormView控件1FormView控件概述
实现显示、编辑、插入和删除数据,支持记录间导航。与DetailsView控件的不同:必须为控件设计模板,否则它不知道如何显示数据语法格式:<asp:FormViewID="string"AllowPaging="True"DataKeyNames="string"DataSourceID="string"DefaultMode="ReadOnly"PageIndex="integer"runat="server"><ItemTemplate/><EditItemTemplate/><InsertItemT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民间工艺品制作工技巧模拟考核试卷含答案
- 乙炔发生工安全理论评优考核试卷含答案
- 幻灯机与投影机维修工诚信道德考核试卷含答案
- 污泥处理工工作质量测试考核试卷含答案
- 衡器装配调试工岗前管理应用考核试卷含答案
- 梳理热轧非织造布制作工岗位强化考核试卷含答案
- 羽绒羽毛加工处理工操作安全能力考核试卷含答案
- 煮糖助晶工技能实操测试考核试卷含答案
- 2026年小学三年级数学上册《数的认识》标准教案
- 2026年西师版小学三年级英语上册Lesson3《Thisismyfriend》教案
- 儿童功能性腹痛诊疗指南
- 安徽省省十联考2027届高三上学期第一次教学质量测评物理试卷(含答案)
- 【小学】【秋季上】高年级【信息技术】开学第一课【课件】
- 2026年学习教育工作总结
- 产品采购检验制度
- 2026年云南昆明市磨憨磨丁合作区事业单位招聘笔试参考题库附带答案详解
- 学生传染病请假制度
- 2025年10月自考13174概率论与数理统计(工).试题及答案
- 景区观光车驾驶员初级考试试卷与答案
- 服装面料采购合同协议书范本
- T/CTRA 01-2020废轮胎/橡胶再生油
评论
0/150
提交评论