【ASP.NET】第七课——数据绑定和GridView控件的使⽤知识点:理解ASP.NET 中数据绑定的概念、掌握数据绑定表达式语法 、掌握 GridView 的⽤法
1、数据绑定概述
1.1  什么是数据绑定:
数据绑定是把数据源和控件相关联,并由控件负责⾃动显⽰数据的⼀种特性。
1.2    为什么要使⽤数据绑定:
数据绑定是ASP.NET提供的另⼀种访问数据库的⽅法。与ADO.NET数据库访问技术不同的是:数据绑定技术可以让程序员不关注数据库连接、数据库命令以及如何格式化这些数据以显⽰在页⾯上等环节,⽽是直接把数据绑定到HTML元素和Web控件。数据控件则是⽤来显⽰从数据库中获取的数据。
asp查看源码配置ui数据绑定的关键特征是它是声明性的⽽不是编程性的,这样做的好处是清晰的分离⽹页中的控件和代码,是制作⽹页时经常需要处理的问题之⼀。
1.3    数据绑定的类型:
1)单值绑定: 可以通过单值绑定的⽅式把数据添加到ASP.NET页⾯的任何地⽅。可以把数据放在⼀个控件的属性定义标记⾥,也可以直接以纯⽂本的形式放置在HTML标记⾥。
2)多值绑定: 多值绑定可以显⽰⼀个表中的所有内容。同单值绑定不⼀样,这种类型的数据绑定需要⽀持它的特殊控件。
1.4    数据绑定的⼯作⽅式:
单值数据绑定和多值数据绑定的⼯作⽅式不太⼀样。使⽤单值数据绑定时,需要把数据绑定表达式插⼊到.aspx⽂件的标记中。使⽤多值数据绑定时,必须设置⼀个数据控件的单个或多个属性。
⼀旦指定了数据绑定,就需要激活它,可以通过调⽤控件或页⾯对象的DataBind⽅法来激活数据绑定。在页⾯的Load事件中调⽤DataBind⽅法。如果没有在Load事件中调⽤DataBind⽅法的话,ASP.NET将忽略数据绑定表达式,在页⾯上将以空值的形式呈现。
1.5    常⽤数据绑定控件:
所有直接或间接继承⾃System.Web.UI.Control的控件(可绑定呈现数据)
继承⾃ListControl或BaseDateList的所有控件(可作为数据容器绑定呈现数据)
在第⼆课中,我们已经学会了使⽤ ASP.NET 提供的控件将数据简单的呈现在页⾯上。如⽤ Label、TextBox 呈现单个数据,列表控件如 DropDrownList 可以呈现数据源中某⼀项数据等。⽤表格来显⽰数据是⽹站开发中⼀个常见需求,但是⽤前⾯所学的控件是⽆法实现的,⼀般使⽤ GridView、DataList、Repeater 等数据绑 定控件。数据绑定控件⽤于将指定的数据源按⼀定的格式呈现在 Web 页⾯上。
2、单值绑定
⽀持单值绑定的控件,允许使⽤数据绑定表达式,绑定它们的部分属性。数据绑定表达式在页⾯的 .aspx 标记部分输⼊,包含在 <%#和 %> 之间。如:<%# 表达式 %> 。在绑定表达式中,可以使⽤变量、⽅法等,在页⾯处理过程中会执⾏表达式,将最终的结果呈现在绑定表达式中。
⽰例练习1:利⽤单值绑定输出系统时间
要求:⽤Label控件显⽰系统当前时间。
第⼀步,新建项⽬:在VS中新建asp web项⽬,这⾥命名为【WebApplication7】,右键单击项⽬名称【WebApplication7】, 依次点击【添加】→【添加Web窗体】,在弹出的【指定项名称】窗⼝中,使⽤默认的命名WebForm1,然后单击【确定】
第⼆步,使⽤控件:在默认打开的WebForm1.aspx⽂件中,使⽤Label控件。⽅法:在⼯具箱中到Label控件,将其拖拽到适当的位置,并修改ID属性值为lblShowTime。
第三步,修改Text属性值:⽤Label控件显⽰⽂本时可将⽂本写⼊Label的Text属性。这⾥我们想显⽰系统时间,因此要修改Text属性值为:<%#DateTime.Now.ToLongTimeString() %>
第四步,运⾏测试:当前页⾯下,单击⿏标右键,然后单击【在浏览器中预览】,查看效果。
出现问题:发现并没有显⽰时间。
原因分析:Label 的 Text 属性并没有绑定到数据
解决办法:调⽤ DataBind()⽅ 法计算表达式的值
第五步,调⽤DataBind()⽅法:在WebForm1.aspx⽂件中,右键单击⿏标,然后单击【查看代码】,打开WebForm1.aspx.cs⽂件,在页⾯的Load事件中,调⽤DataBind()⽅法。lblShowTime.DataBind();
再次运⾏测试:
2.1  单值绑定的四种数据绑定表达式
单值绑定其实就是实现动态⽂本的⼀种的⽅式,为了实现单值数据绑定,可以向ASP.NET页⾯⽂件中添加特殊的数据绑定表达式。 单值绑定主要有四种数据绑定表达式:
<%=XXX %> :它是内联引⽤⽅式,可以引⽤C#代码。
<%# XXX %> :它可以引⽤.cs⽂件中的代码的字段,但这个字段必须初始化后,在页⾯的Load事件中使⽤Page.DataBind⽅法来实现。
<%$ XXX %> :它可以引⽤fig⽂件中预定义的字段或者已注册的类。
<%# Eval(XXX) %> :它类似于JavaScript,数据源也需要绑定。
⽰例练习2:数据绑定表达式练习
要求:⽤不同的数据绑定表达式
第⼀步,新建Web窗体:在⽰例1的基础上,在解决⽅案资源管理器窗⼝中,右键单击⽹站项⽬【WebApplication7】, 依次点击【添加】→【Web窗体】,弹出【指定项名称】的窗⼝,这⾥采⽤默认命名“WebForm2”,然后单击【确定】。
第⼆步,编写源代码:在默认打开的WebForm1.aspx⽂件中,编写源代码,先测试使⽤<%=XXX %>进⾏数据输出
<div>
<h2>使⽤=号</h2>
不绑定控件输出:<br />
直接输出表达式:<%=1+2 %><br />
输出变量:<%=name %><br />
输出⽅法:<%=SayHello() %><br /><br />
绑定控件输出:<br />
输出表达式:<asp:TextBox ID="TextBox1" runat="server" Text="<%=1+2 %>"></asp:TextBox><br />
输出变量:<asp:Label ID="Label1" runat="server" Text="<%=name %>"></asp:Label><br />
输出⽅法:<asp:Label ID="Label2" runat="server" Text="<%=SayHello() %>"></asp:Label>
</div>
第三步,编写后置代码⽂件:在WebForm2.aspx⽂件中,右键单击⿏标,然后单击【查看代码】,打开WebForm2.aspx.cs⽂件,编写第⼆步中使⽤到的变量 name 和⽅法 SayHello()
public string name = "张三";
public string SayHello()
{
return "hello," + name;
}
第四步,运⾏测试:当前页⾯下,单击⿏标右键,然后单击【在浏览器中预览】,查看效果。
总结:使⽤<%=XXX %>时,不能绑定到控件上。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。