Eval()、Bind()的用法

作用:获取数据库字段。

eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法bind相比,会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法 。Eval 方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。 

例:页面上的GridView,只显示三列,但其数据源为5列的Table。

View Code
 1 <asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" 
2 EnableModelValidation="True" BorderWidth="0">
3 <Columns>
4 <asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category" ItemStyle-CssClass="th_category">
5 <ItemTemplate> [<a href='NewsList.aspx?caid=<%# Eval("caId") %>'><%# Eval("name") %> </a>]
6 </ItemTemplate>
7 </asp:TemplateField>
8 <asp:TemplateField HeaderText="新闻标题">
9 <ItemTemplate>
10 <a href='NewsContent.aspx?newsid=<%#Eval("id") %>' target="_blank" title='<%#Eval("title") %>'> <%# StringTruncat(Eval("title").ToString(),20,"...") %></a>
11 </ItemTemplate>
12 </asp:TemplateField>
13 <asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time">
14 <ItemTemplate>
15 <asp:Label ID="Label3" runat="server" Text='<%# Bind("createTime") %>'></asp:Label>
16 </ItemTemplate>
17 </asp:TemplateField>
18 </Columns>
19 </asp:GridView>

数据库数据源:

代码中的<%# Eval("name") %>是为了获取数据源中“name”字段的值,在界面上就可以显示数据库中name字段的值了。

原文地址:https://www.cnblogs.com/leanfish/p/2238778.html