欢迎来到天天文库
浏览记录
ID:45300351
大小:2.85 MB
页数:54页
时间:2019-11-11
《ASP.NET数据绑定技术之数据绑定》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据绑定技术原理ASP.NET数据绑定技术之主要内容数据绑定原理GridView基础知识GridView应用实例数据绑定控件的组合使用21数据绑定原理只有知其所以然才能知其然引例:直观了解数据绑定现场编程展示(参考示例:UseDataBind)4数据绑定的层次结构数据库ADO.NET数据绑定控件数据源控件5提供显示和编辑数据的可视化界面IDataSourceDataSourceView提供对数据的访问接口:增、删、改、查与数据库交互,完成信息的增、删、改、查工作。信息的存放地调用存取常用的数据绑定控件控件名称说明
2、GridView以表格的方式显示和编辑数据,DetailsView一次显示、编辑、插入或删除一条记录。默认情况下,DetailsView控件将记录的每个字段显示在它自己的一行内。FormViewFormView控件与DetailsView控件相似,一次也只能显示或编辑一条记录。FormView需要给其设定一个模板。DataList控件可以用某种用户指定的格式来显示数据(比如分列显示),这种格式由模板和样式进行定义。RepeaterRepeater控件没有包含内置的布局或样式,需要由Web开发者指定所有的用于显示数
3、据的内部控件和显示样式ListViewASP.NET3.5新增,以嵌套容器模板和占位符的方式提供灵活的数据显示模式6常用的数据源控件SqlDataSource可以连接到ADO.NET支持的任何SQL数据库。AccessDataSource连接到使用MicrosoftOffice创建的Access数据库。ObjectDataSource连接到应用程序的Bin或App_Code目录中的中间层业务对象或数据集。XmlDataSource连接到XML文件。SitemapDataSource连接到此应用程序的站点导航树(要
4、求应用程序根目录处有一个有效的站点地图文件,默认的文件名为“Web.sitemap”),站点地图文件其实也是一个XML文件。LINQDataSource.NET3.0新增,可以访问各种类型的数据,包括数据库和XML文件。与C#/VB.NET等.NET语言直接集成。7多种可绑定的数据对象除了绑定到数据源这种具有很强功能的对象之外,数据绑定控件还可以绑定到最小实现了IEnumerable接口的集合对象(比如数组/HashTable/List)。另外,通过使用数据绑定表达式,可以将一些数据绑定控件直接与某个函数或
5、属性进行绑定。8数据绑定的三种实现方式:将数据绑定控件的DataSourceID设定为数据源控件,数据绑定控件即可充分利用数据源控件的功能实现对数据的“增删改查”。这称为“自动数据绑定”。也可以不使用DataSourceID,而是直接将数据源赋值给数据绑定控件的DataSource属性,然后再调用数据绑定控件的DataBind()方法实现“手工数据绑定”。或者直接在页面中放置绑定表达式,然后在Page_Load中调用页面类的DataBind()方法实现数据绑定。9数据绑定表达式第一步:设定数据表达式<%#数据绑定
6、表达式%>第二步:执行Page类中的Bind()方法。Demo:UseDataBind(DataBindingExpression.aspx)10重要编程提示:直接在页面中嵌入C#代码的方法:<%=C#代码%>无需调用Page.Bind()方法,上述代码总是执行。理解“数据绑定模板”由于要显示的数据通常包含多条结构类似的记录,因此,经常使用“模板(Template)”来指定单条记录的显示格式,然后,数据绑定控件自动将这一定义好的模板应用于所有要显示的记录。可以针对不同的场景定义不同的模板,比如为浏览状态显示一个只
7、读的模板(通常用Label来表达信息),然后为编辑状态显示另一个模板(通常用TextBox来向用户提供修改信息的手段)。大多数数据绑定控件都提供了相应的方法在不同的状态间切换(比如从浏览切换到编辑状态),并会自动加载相应的模板,与此同时,还会激发相应的事件。11在数据绑定模板中绑定数据(1)当一个ASP.NET控件位于一个数据绑定模板中时,可以使用Eval()方法将其的某个属性与数据源中当前数据对象的某个属性相绑定。12ClientID:8、bel"runat="server"Text='<%#Eval("ClientID")%>'/>Eval方法提供了一个单向的只读的数据值。这就是说,数据是从“数据源”对象单向传送给模板中的控件,没有办法修改数据源对象中的数据。在数据绑定模板中绑定数据(2)当需要修改数据源中的数据时,通常采用Bind()方法实现这一功能:13
8、bel"runat="server"Text='<%#Eval("ClientID")%>'/>
此文档下载收益归作者所有