《 ASPNET数据库网站设计教程(C#版)》 配套教学资源 第9章数据绑定与数据绑 定控件 9.1~9.4 本章内容:数据绑定, GridView控件, Details view控件, Form View控件,使用数据 绑定表达式实现数据绑定,调用 Databindo方法实现数据绑定。 本章重点: GridView控件, Details View控件,rormⅤiew控件 圖王出妖社
第9章 数据绑定与数据绑 定控件 9.1~9.4 《ASP.NET数据库网站设计教程(C#版)》 配套教学资源 本章内容:数据绑定,GridView控件,Details View控件,FormView控件,使用数据 绑定表达式实现数据绑定,调用DataBind()方法实现数据绑定。 本章重点:GridView控件,DetailsView控件,FormView控件
91数据绑定 数据绑定( data binding)是一种把数据绑定到数据显示控 件上的技术,使得服务器控件可以与数据源直接交互 使用 ASPNET数据绑定,可以将任何服务器控件绑定简单 的属性、集合、表达式和方法。使用数据绑定,当在数据 库中或通过其他方法使用数据时,会具有更大的灵活性。 ■911简单数据绑定和复杂数据绑定 简单数据绑定 简单数据绑定就是将用户界面控件的属性绑定到数据源中 的某个属性上,这个单个值在运行时确定。例如,可以把 Student对象的Name属性绑定到一个 TextBox的ext属性上 绑定后,对 TextBox的Text属性的更改将传递给 Student的 Name属性,而对 Student的Name属性的更改同样会传递给 TextBox的Text属性。 简单数据绑定包括数据绑定表达式和 DataBind0方法两部 分内容
◼ 数据绑定(data binding)是一种把数据绑定到数据显示控 件上的技术,使得服务器控件可以与数据源直接交互。 ◼ 使用ASP.NET数据绑定,可以将任何服务器控件绑定简单 的属性、集合、表达式和方法。使用数据绑定,当在数据 库中或通过其他方法使用数据时,会具有更大的灵活性。 ◼ 9.1.1 简单数据绑定和复杂数据绑定 ◼ 1.简单数据绑定 ◼ 简单数据绑定就是将用户界面控件的属性绑定到数据源中 的某个属性上,这个单个值在运行时确定。例如,可以把 Student对象的Name属性绑定到一个TextBox的Text属性上 ,绑定后,对TextBox的Text属性的更改将传递给Student的 Name属性,而对Student的Name属性的更改同样会传递给 TextBox的Text属性。 ◼ 简单数据绑定包括数据绑定表达式和DataBind()方法两部 分内容。 9.1 数据绑定
2.复杂数据绑定 复杂数据绑定就是把一个基于列表的控件(如 DropDownlist、 Gridview)绑定到一个数据实例列表(如 Data' Table)的方法上。这些控件通常称为数据绑定控件 如 Listbox、 DropDownList、 Repeater、GridⅤiew等控件。 这些数据绑定控件可以分为两类:列表控件和迭代控件。 列表控件包括 Bulletedlist、 CheckBoxlist、 Radiobuttonlist Listbox和 DropDownlist控件。迭代控件包括 Repeater、 Datalist和 Gridview等控件 与简单数据绑定一样,复杂数据绑定也是在用户界面控件 发生改变时传递到数据列表上的,在数据列表发生改变时 又传递回用户界面控件上
◼ 2.复杂数据绑定 ◼ 复杂数据绑定就是把一个基于列表的控件(如 DropDownList、GridView)绑定到一个数据实例列表(如 DataTable)的方法上。这些控件通常称为数据绑定控件, 如ListBox、DropDownList、Repeater、GridView等控件。 这些数据绑定控件可以分为两类:列表控件和迭代控件。 列表控件包括BulletedList、CheckBoxList、RadioButtonList 、ListBox和DropDownList控件。迭代控件包括Repeater、 DataList和GridView等控件。 ◼ 与简单数据绑定一样,复杂数据绑定也是在用户界面控件 发生改变时传递到数据列表上的,在数据列表发生改变时 又传递回用户界面控件上
912数据绑定控件概述 若要在 ASPNET页上显示数据,则需要使用数据绑定控件 (如 Gridview、 Details View或rormⅤiew控件)或 Listbox或 DropDownlist等控件。数据绑定web服务器控件是指可绑 定到数据源控件,以实现在web应用程序中轻松显示和修 改数据的控件。数据绑定控件使用由数据源控件检索到的 数据。数据绑定控件可以自动利用数据源控件提供的数据 服务
◼ 9.1.2 数据绑定控件概述 ◼ 若要在ASP.NET页上显示数据,则需要使用数据绑定控件 (如GridView、DetailsView或FormView控件)或ListBox或 DropDownList等控件。数据绑定Web服务器控件是指可绑 定到数据源控件,以实现在Web应用程序中轻松显示和修 改数据的控件。数据绑定控件使用由数据源控件检索到的 数据。数据绑定控件可以自动利用数据源控件提供的数据 服务
1.使用 DataSource属性进行数据绑定 ■将数据绑定控件的 DataSource属性设置为数据源控件 如 SqlDataSource)的。当呈现页面时,数据源控件(如 SqlDataSource)将检索数据,并将数据提供给数据绑定控 件,然后由数据绑定控件显示该数据。建议使用此方法, 因为它允许数据绑定控件利用数据源控件的功能,并提供 内置的排序、分页和更新功能。 当使用υ asource属性绑定到数据源时,数据绑定控件 支持双向数据绑定。除可以使该控件显示返回的数据之外 还可以使它自动支持对绑定数据的更新和删除操作
◼ 1.使用DataSourceID属性进行数据绑定 ◼ 将数据绑定控件的DataSourceID属性设置为数据源控件( 如SqlDataSource)的ID。当呈现页面时,数据源控件(如 SqlDataSource)将检索数据,并将数据提供给数据绑定控 件,然后由数据绑定控件显示该数据。建议使用此方法, 因为它允许数据绑定控件利用数据源控件的功能,并提供 了内置的排序、分页和更新功能。 ◼ 当使用DataSourceID属性绑定到数据源时,数据绑定控件 支持双向数据绑定。除可以使该控件显示返回的数据之外 ,还可以使它自动支持对绑定数据的更新和删除操作
2.使用 DataSource属性进行数据绑定 ■此选项能够绑定包括 ADO.NEt数据集和数据读取器在内 的各种对象。但是,使用此方法需要为所有附加功能(如 排序、分页和更新)编写代码。 当指定数据绑定控件的 DataSource属性或者 Data Sourced属 性之后,再调用 Databind0方法才会显示绑定的数据
◼ 2.使用DataSource属性进行数据绑定 ◼ 此选项能够绑定包括ADO.NET数据集和数据读取器在内 的各种对象。但是,使用此方法需要为所有附加功能(如 排序、分页和更新)编写代码。 ◼ 当指定数据绑定控件的DataSource属性或者DataSourceID属 性之后,再调用DataBind()方法才会显示绑定的数据
913使用数据绑定表达式实现数据绑定 数据绑定语法 (1)数据绑定的语法格式 使用数据绑定语法,可以将控件属性值绑定数据,并指定 值以便对数据进行检索、更新、删除和插入操作。 数据绑定表达式包含在“”分隔符之内, 并使用Eval方法和Bind方法。Eval方法用于定义单向(只 读)绑定,Bind方法用于定义双向(可更新)绑定。Eval 和Bnd方法的语法格式如下: ■
◼ 9.1.3 使用数据绑定表达式实现数据绑定 ◼ 1.数据绑定语法 ◼ (1)数据绑定的语法格式 ◼ 使用数据绑定语法,可以将控件属性值绑定数据,并指定 值以便对数据进行检索、更新、删除和插入操作。 ◼ 数据绑定表达式包含在“”分隔符之内, 并使用Eval方法和Bind方法。Eval方法用于定义单向(只 读)绑定,Bind方法用于定义双向(可更新)绑定。Eval 和Bind方法的语法格式如下: ◼ ◼
除了通过在数据绑定表达式中调用Evl和Bind方法执行数 据绑定外,还可以调用“”分隔符之内的 任何公共范围代码,以便在页面处理过程中执行该代码并 返回一个值 <%#绑定表达式% ■上述语法允许程序员不仅可以绑定数据源,而且可以绑定 简单属性、集合、表达式,甚至从方法调用返回的结果 数据绑定表达式可以作为一种独立的数据绑定方式,也可 以与其他数据绑定方式配合,以更灵活地显示数据
◼ 除了通过在数据绑定表达式中调用Eval和Bind方法执行数 据绑定外,还可以调用“”分隔符之内的 任何公共范围代码,以便在页面处理过程中执行该代码并 返回一个值。 ◼ ◼ 上述语法允许程序员不仅可以绑定数据源,而且可以绑定 简单属性、集合、表达式,甚至从方法调用返回的结果。 数据绑定表达式可以作为一种独立的数据绑定方式,也可 以与其他数据绑定方式配合,以更灵活地显示数据
2)数据绑定表达式出现的位置 ■①可以将数据绑定表达式包含在服务器控件或者普通的 HIML元素的开始标记中,作为属性名和属性值对的值。 例如 asp: Text Box ID=TextBox1 "runat="server"Text=></asp: TextBox 此时数据的绑定表达式可以是一个变量,也可以是一个带 返回值的C#方法,也可以是某个控件的某个属性的值, 也可以是C#对象的某个字段或者属性的值等。当然也可 以直接就是一个字符串,例如"helo"。 如果此时的数据绑定表达式是Eva("数据库中某个表的某 个字段")等,那么必须把 TextBox1放在某个循环显示的控 件的模板中才正确,否则会提示:“Eval、 XPath0和 Bind这类数据绑定方法只能在数据绑定控件的上下文中 使用”,意思是要把 TextBox1放在像 Repeater、 Datalist、 Gridview这样的控件的模板中
◼ (2)数据绑定表达式出现的位置 ◼ ① 可以将数据绑定表达式包含在服务器控件或者普通的 HTML元素的开始标记中,作为属性名和属性值对的值。 例如: ◼ ' > ◼ 此时数据的绑定表达式可以是一个变量,也可以是一个带 返回值的C#方法,也可以是某个控件的某个属性的值, 也可以是C#对象的某个字段或者属性的值等。当然也可 以直接就是一个字符串,例如"hello"。 ◼ 如果此时的数据绑定表达式是Eval("数据库中某个表的某 个字段")等,那么必须把TextBox1放在某个循环显示的控 件的模板中才正确,否则会提示:“Eval()、XPath()和 Bind()这类数据绑定方法只能在数据绑定控件的上下文中 使用”,意思是要把TextBox1放在像Repeater、DataList、 GridView这样的控件的模板中
②数据绑定表达式可以包含在页面中的任何位置。例如: form id=form1 runat="server" form> 如果此时的数据绑定表达式是Eva("数据库中某个表的某 个字段")等,那么必须把 放在像 Repeater Datalist、 Gridview这样的控件的模板中 口③可以将数据绑定表达式包含在 javAscript代码中,从而实 现在 JavaScript中调用C#的方法
◼ ② 数据绑定表达式可以包含在页面中的任何位置。例如: ◼ ◼ ◼ ◼ ◼ ◼ ◼ 如果此时的数据绑定表达式是Eval("数据库中某个表的某 个字段")等,那么必须把 、放在像Repeater、 DataList、GridView这样的控件的模板中。 ◼ ③ 可以将数据绑定表达式包含在JavaScript代码中,从而实 现在JavaScript中调用C#的方法