数据绑定是ASP.NET提供的另一种访问数据库的方法。与ADO.NET数据库访问技术不同的是:数据绑定技术可以让程序员不关注数据库连接、数据库命令以及如何格式化这些数据以显示在页面上等环节,而是直接把数据绑定到HTML元素和Web控件。

  数据控件则是用来显示从数据库中获取的数据。

  数据绑定的原理:

    首先要设置控件的数据源和数据的显示格式,设置完成后,控件就会自动处理剩余的工作以把要显示的数据按照要显示的格式显示在页面上。

数据绑定的类型 

  1. 单值绑定。

       可以通过单值绑定的方式把数据添加到ASP.NET页面的任何地方。可以把数据放在一个控件的属性定义标记里,也可以直接以纯文本的形式放置在HTML标记里。

  2. 多值绑定。

       多值绑定可以显示一个表中的所有内容。同单值绑定不一样,这种类型的数据绑定需要支持它的特殊控件。

数据绑定的工作方式

  单值数据绑定和多值数据绑定的工作方式不太一样。使用单值数据绑定时,需要把数据绑定表达式插入到.aspx文件的标记中。使用多值数据绑定时,必须设置一个数据控件的单个或多个属性。

  一旦指定了数据绑定,就需要激活它,可以通过调用控件或页面对象的DataBind方法来激活数据绑定。

  在页面的Load事件中调用DataBind方法。如果没有在Load事件中调用DataBind方法的话,ASP.NET将忽略数据绑定表达式,在页面上将以空值的形式呈现。 

单值绑定

  单值绑定其实就是实现动态文本的一种的方式,为了实现单值数据绑定,可以向ASP.NET页面文件中添加特殊的数据绑定表达式。

  单值绑定主要有四种数据绑定表达式:

    1.<%=XXX %>,它是内联引用方式,可以引用C#代码。

    2.<%# XXX %>,它可以引用.cs文件中的代码的字段,但这个字段必须初始化后,在页面的Load事件中使用Page.DataBind方法来实现。

    3.<%#$ XXX %>,它可以引用Web.config文件中预定义的字段或者已注册的类。

    4.<%# Eval(XXX) %>,它类似于JavaScript,数据源也需要绑定。

  单值绑定的使用:

    在Default.aspx中加入如下代码:

 1 <div>
 2         <div>
 3             <%# projectName %>
 4             <br />
 5             <br />
 6             <%= DateTime.Now %>
 7         </div>
 8         <br />
 9         <div>
10         </div>
11         <asp:TextBox ID="bindTest" runat="server" Text="<%$ AppSettings:test %>" />
12         <br />
13         <br />
14         <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
15             <Columns>
16                 <asp:TemplateField>
17                     <HeaderTemplate>
18                         <asp:Label runat="server" Text="姓名:" />
19                     </HeaderTemplate>
20                     <ItemTemplate>
21                         <%#Eval("Name") %>
22                         <br />
23                     </ItemTemplate>
24                 </asp:TemplateField>
25                 <asp:TemplateField>
26                     <HeaderTemplate>
27                         <asp:Label runat="server" Text="性别:"></asp:Label>
28                     </HeaderTemplate>
29                     <ItemTemplate>
30                         <%#Eval("Sex") %>
31                     </ItemTemplate>
32                 </asp:TemplateField>
33                 <asp:TemplateField>
34                     <HeaderTemplate>
35                         <asp:Label runat="server" Text="年龄:"></asp:Label>
36                     </HeaderTemplate>
37                     <ItemTemplate>
38                         <%#Eval("Age") %>
39                     </ItemTemplate>
40                 </asp:TemplateField>
41             </Columns>
42         </asp:GridView>
43 </div>
View Code

相关文章: