基本的数据邦定规则是:你告诉一个控件在哪里找你的数据和怎样显示这个数据,并且这个控件处理接下来的细节。
Asp.net中的数据绑定和windows窗体程序以及C/S架构的程序表面上好像是一样的,其实是不一样的,asp.net的数据邦定仅仅工作在一个方向。信息从数据对象到一个控件上,然后这个数据对象就被析构了,这个页面再发送到客户端。
Asp.net数据绑定的两种类型
asp.net的数据绑定有两种类型:单值绑定和多记录绑定。
数据绑定是怎么工作的
数据绑定的工作是依据你是使用单值绑定还是多值绑定。如果是单值绑定的话,数据绑定表达式是在.aspx页面中(而不是在代码页面中) ,如果是多值绑定,那么是在控件的属性中设置。一旦你数据绑定后,通过使用方法Databind()来激活它
单值数据绑定
单值数据绑定同动态文本是一个完全不同的方法。你可以增加特定的数据绑定在你的.aspx文件中。表达式如下<%# expression_goes_here%>
数据源控件
带有数据邦定的页面生命周期:
data source controls能够完成两项主要的工作:
1、它们能从数据源中得到数据,并且将数据提供连接的控件。
2、当在连接的控件中编辑发生了它们能更新数据源。
为了理解数据源控件,你需要知道页面的生命周期。以下的步骤介绍了你页面生命周期的步骤。第四步和第六部是数据源控件发生事件的两步。
是以下7步:
1、首先是基于.aspx文件创建page 对象
2、page生命周期开始,发生init,load事件
3、所有其他控件的触发事件。
4数据源控件完成更新。如果有一行被更新了,就触发Updating和Updated事件。如果插入了新行,就触发Inserting 和Inserted事件。如果有一行被删除了,就触发Deleting 和Deleted事件。
5、触发Page.PreRender事件。
6、数据源控件在连接的控件中执行查询和插入。在这一时刻触发Selecting和Selected事件
7、页面返回并且将Page对象析构。
在数据邦定中也需要使用connection,command,dataAdapter.所以就需要有连接字符串,它用的语法是这样的: <%$ ConnectStrings:[NameOfConnectionString]%>,增加了连接字符串就需要增加查询逻辑了,sqlDataSource命令逻辑是由四个属性来提供的:SelectCommand、InsertCommand、UpdateCommand、DeleteCommand,每一个都带有一个字符串。如果相应的SelectCommandType..=text的话,这个字符串就是相应的内嵌SQL语句。如果SelectCommandType=StoredProcedure,那么这个字符串就是存储过程的名字。