1、基础认识
- Eval与Bind是两个方法,都可以实现前台数据绑定。
- Bind方法(双向数据绑定)即能把数据绑定到控件,又能把数据变更提交到数据库
- Eval方法(单向数据绑定)它实现了数据读取的自动化,并能对绑定字段进行格式化显示,但是没有实现数据写入自动化
2、Eval的用法
Eval 方法以数据字段的名称作为参数,从数据源的当前记录返回一个包含该字段值的字符串。可以提供第二个参数(可选参数)来指定返回字符串的格式,如以下牛腩中的应用:
//绑定id,与姓名
<li><a href='list.aspx?caid=<%# Eval("id") %>'><%# Eval("name") %></a></li>
Eval可以用于计算数据绑定控件(如 GridView、DetailsView 和 FormView 控件)的模板中的后期绑定数据表达式,在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如 GridView 控件中的一行。因此,只能对数据绑定控件的模板内的绑定使用 Eval 方法;
以下以GridView应用举例:
<asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" GridLines="None" >
<Columns>
<asp:TemplateField HeaderText="新闻标题">
<ItemTemplate>
<!--设置新闻标题链接,鼠标移上显示完整标题,设置超过长度标题显示样式-->
<a href='newscontent.aspx?newsid=<%# Eval("id")%>' target="_blank" title='<%# Eval("title") %>'><%# StringTruncat (Eval("title").ToString(),16,"...") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
3、Bind的用法
Bind 方法采用数据字段的名称作为参数,与绑定属性关联;
Bind 方法通常与输入控件一起使用,例如由编辑模式中的 GridView 行所呈现的 TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值;
在 ASP.NET 中,数据绑定控件(如 GridView、DetailsView 和 FormView 控件)可自动使用数据源控件的更新、删除和插入操作;如果已经为数据源控件定义了Select、Insert、Delete 和 Update 语句,则通过使用 GridView、DetailsView 或 FormView 控件模板中的 Bind 方法,就可以使控件从模板中的子控件中提取值,并将这些值传递给数据源控件。然后数据源控件将执行适当的数据库命令,在数据绑定控件的ItemTemplate 或 插入ItemTemplate 中要使用 Bind 函数;
以下以GridView应用举例:
<asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" GridLines="None" >
<Columns>
<asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time" ItemStyle-CssClass="td_time">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("createtime") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
对于两个方法的用法有了一个表向的认识,应用中学习,及时总结是个好习惯,希望我可以养成;