ASP.NET数据绑定技术数据绑定技术原理.ppt
《ASP.NET数据绑定技术数据绑定技术原理.ppt》由会员分享,可在线阅读,更多相关《ASP.NET数据绑定技术数据绑定技术原理.ppt(54页珍藏版)》请在三一办公上搜索。
1、数据绑定技术原理,ASP.NET数据绑定技术 之,主要内容,数据绑定原理GridView基础知识GridView应用实例数据绑定控件的组合使用,2,1 数据绑定原理,只有知其所以然才能知其然,引例:直观了解数据绑定,现场编程展示(参考示例:UseDataBind),4,数据绑定的层次结构,数据库,ADO.NET,数据绑定控件,数据源控件,5,提供显示和编辑数据的可视 化界面,IDataSource,DataSourceView,提供对数据的访问接口:增、删、改、查,与数据库交互,完成信息的增、删、改、查工作。,信息的存放地,调用,存取,常用的数据绑定控件,6,常用的数据源控件,7,多种可绑定的
2、数据对象,除了绑定到数据源这种具有很强功能的对象之外,数据绑定控件还可以绑定到最小实现了IEnumerable接口的集合对象(比如数组/HashTable/List)。另外,通过使用数据绑定表达式,可以将一些数据绑定控件直接与某个函数或属性进行绑定。,8,数据绑定的三种实现方式:,将数据绑定控件的DataSourceID设定为数据源控件,数据绑定控件即可充分利用数据源控件的功能实现对数据的“增删改查”。这称为“自动数据绑定”。也可以不使用DataSourceID,而是直接将数据源赋值给数据绑定控件的DataSource属性,然后再调用数据绑定控件的DataBind()方法实现“手工数据绑定”。
3、或者直接在页面中放置绑定表达式,然后在Page_Load中调用页面类的DataBind()方法实现数据绑定。,9,数据绑定表达式,第一步:设定数据表达式第二步:执行Page类中的Bind()方法。Demo:UseDataBind(DataBindingExpression.aspx),10,重要编程提示:直接在页面中嵌入C#代码的方法:无需调用Page.Bind()方法,上述代码总是执行。,理解“数据绑定模板”,由于要显示的数据通常包含多条结构类似的记录,因此,经常使用“模板(Template)”来指定单条记录的显示格式,然后,数据绑定控件自动将这一定义好的模板应用于所有要显示的记录。可以针对
4、不同的场景定义不同的模板,比如为浏览状态显示一个只读的模板(通常用Label来表达信息),然后为编辑状态显示另一个模板(通常用TextBox来向用户提供修改信息的手段)。大多数数据绑定控件都提供了相应的方法在不同的状态间切换(比如从浏览切换到编辑状态),并会自动加载相应的模板,与此同时,还会激发相应的事件。,11,在数据绑定模板中绑定数据(1),当一个ASP.NET控件位于一个数据绑定模板中时,可以使用Eval()方法将其的某个属性与数据源中当前数据对象的某个属性相绑定。,12,ClientID:/,Eval方法提供了一个单向的只读的数据值。这就是说,数据是从“数据源”对象单向传送给模板中的控
5、件,没有办法修改数据源对象中的数据。,在数据绑定模板中绑定数据(2),当需要修改数据源中的数据时,通常采用Bind()方法实现这一功能:,13,ClientName:/,当使用Bind方法时,用户所作的修改会被传送回数据源控件以实现更新。,数据绑定实例分析,Demo:UseDataBind(UseEvalAndBind.aspx),14,示例要点:使用FormView控件绑定到SQLDataSource,定义其编辑和插入模板。,自动绑定 VS 手工绑定,ASP.NET提供的自动数据绑定机制虽然很自动化,几乎不用编码就可以完成许多功能,然而,在实际项目中为了实现严格的分层架构和保证程序的灵活性与
6、可控性,往往不使用自动绑定,而是手工编程实现数据绑定。下面我们将以最复杂也是最常用的GridView为例,深入介绍数据绑定控件的使用方法。,15,2 GridView基础知识,以点带面,举一反三,形成GridView的全局观(1),GridView以表格的方式显示数据。,17,GridViewRow对象代表GridView控件中的一行,GridView的Rows属性代表当前显示在页面上所有GridViewRow对象的集合,TableCell代表一个单元格,这是一个控件容器,其中可以放置各种ASP.NET控件。GridViewRow对象的Cells集合代表这一行的所有单元格,形成GridView
7、的全局观(2),与GridView绑定的数据都具有二维表的性质。若绑定的是DataTable,则每个GridViewRow对象负责显示一个DataRow,而每个TableCell则负责显示此DataRow中特定字段的值。若绑定的是List,则每个GridViewRow对象负责显示一个T类型的对象,而每个TableCell则负责显示此对象的特定属性的值。,18,数据绑定控件GridView中的列(1),GridView中的列可以用不同方式显示数据。Gridview列对象模型,19,数据绑定控件GridView中的列(2),BoundedField:直接与数据对象的某个“列/属性”绑定,以文本形式
8、显示其值。HyperLinkField:根据数据对象某个列(属性)的值生成一个超链接元素()。ImageField:根据数据对象某个列(属性)的值生成一个元素,显示一张图片ButtonField:显示一个按钮CommandField:其实就是拥有特定CommandName的ButtonField,完成通用的“编辑”、“删除”和“选择”功能。TemplateField:模板列,用于自定义GridView的显示界面,非常灵活与有用。,20,图示GridView的列与行,21,CommandField,BoundedField,header,footer,Gridview的重要事件,GridView
9、及GridViewRow会引发一系列的事件,应用好这些事件非常关键,常用的有以下几个:RowCommand:点击每行中的按钮(ButtonField)时引发,可通过CommandName区分开是哪个按钮被点击。RowDataBound:给每行绑定数据时发生,通常用它来设置模板列中特定控件的属性。RowDeleting:删除一行时发生,可以取消删除。RowUpdating:更新一行数据时发生,可以取消更新。SelectedIndexChanged:选择的行发生改变时发生。PageIndexChanging:点击分页按钮时发生。,22,访问基础数据,使用GridViewRow对象 的DataIte
10、m 属性,可以访问基础数据对象的属性GridView控件的DataKeyNames属性用于指定主键,每一行GridViewRow会生成一个DataKey对象,整个Gridview控件会有一个DataKey对象的集合(用DataKeys属性代表)。可以通过Gridview的SelectedDataKey方法获取当前选中行的DataKey对象,然后再检索键值。,23,掌握GridView编程技巧的关键,牢记:GridView只负责数据的显示,它不管数据的增删改查!记住GridView对象模型:行由哪个对象表达,列有几种类型了解GridView的常用事件,知道这些事件可由哪些对象引发,高度注意每种事
11、件参数中包含的信息。,24,3 GridView应用实例,本节示例网站GridViewDemo说明,为了清晰地展示出GridView的使用技巧,实例使用手工数据绑定方式。绑定的数据来自于Clients表,对应的类为ClientInfo,GridView绑定到List集合对象。ClientInfoAccessObj对象包含一系列的方法,使用ADO.NET技术从数据库中提取与更新数据。上述两个类均放置于示例网站的App_Code文件夹下。这种网站架构也用于本系列的大实例HappyBookShop中。,26,实例1:自定义显示列和列标题,可以让GridView只显示特定的列,并且指定列的标题。Dem
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP NET 数据 绑定 技术 原理
链接地址:https://www.31ppt.com/p-2905233.html