ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层。当然,ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。
DataBinder.Eval的基本格式
DataBinder.Eval(Container.DataItem,"XXX","{0}")
<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%>
还有一种据说微软说效率很高的方式
<%# ((DataRowView)Container.DataItem)["xxxx"]%> 但是这种方式必须要在前台页面导入名称空间<%@ Import NameSpace="System.Data"%>,
否则会生成错误信息<%@ Import namespace="System.Data" %>
1.Eval是对数据的只读绑定,被绑定的子控件所属的父控件(比如GridView)不能用此子控件接收用户输入的修改。Bind是双向绑定,所谓双向,是数据源---显示界面的双向数据流动,即读/写。
2.Eval可以替换为Bind,但会降低性能;反之不能替换。
3.Container即容器,指父控件;DataItem指父控件所绑定的数据源的当前行,不是字段。
分享到:
相关推荐
DataBinder.Eval的基本格式 在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> 今天又学到一种,而且微软也说这种方法...
<%# Bind(“Subject”) %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# DataBinder.Eval(Container.DataItem, “[n]”...# DataBinder.Eval(Container, “DataItem.Colum
[ASP_NET]DataBinder_Eval用法_學習 積累 進步
缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器
缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的...
d> 可能感兴趣的人:"> ... <%# DataBinder.Eval(Container.DataItem, "Name")%> <%# DataBinder.Eval(Container.DataItem, "Sex")%> <%# DataBinder.Eval(Container.DataItem, "myEmail")%> </td>
<td><%#DataBinder.Eval(Container.DataItem,"Activation")%> <td><%#DataBinder.Eval(Container.DataItem, "DealerId")%> <td><%#DataBinder.Eval(Container.DataItem, "UserId")%> <td><%#DataBinder.Eval...
<%# Bind(“Subject”) %> //绑定字段 <%# Container.DataItemIndex + 1%> //实现自动编号 <%# DataBinder.Eval(Container.DataItem, “[n]”)...# DataBinder.Eval(Container, “DataItem
<ItemStyle CssClass="dxgv"></...<asp:Label ID="lb_week_p" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.PLANTKEY") %>'> 宋体"> <asp:ListItem Selected="True" Value="">---- ...
if (e.Row.RowType == DataControlRowType.DataRow) { totalcash += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, “cash”)); totalunbalanced += Convert.ToDecimal(DataBinder.Eval(e.Row....
Eval方法执行时候会调用DataBinder.Eval方法,DataBinder.Eval方法在运行时使用反射执行后期绑定计算,会导致性能明显下降。所以会导致性能明显下降。
# DataBinder.Eval(Container.DataItem,”fldName”) %>时,编译时将会出现 “DataBinder.Eval:“System.Data.DataRow”不包含名称为 fldName 的属性” 的错误 解决办法:将 <%# DataBinder...
GridView 只需要展示则BoundField ItemTemplate则可以在行里面展示...<asp:TextBox ID="icode" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "subclass_name") %>' /> </asp:TemplateField>
<td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%> ; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText=...
<ItemTemplate> <div "><asp:Label ID="lb_op_create_user" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.op_create_user") %>'> </asp:Label></div> </ItemTemplate> myDataGrid_...
——–后台——————– 代码如下: protected string GetStr(string boo) { if (“False”.... 您可能感兴趣的文章:ASP.NET数据绑定的记忆碎片实现代码浅析DataBinder.Eval和Eval的区别深入理解Asp.net中DataBinder.E