DataGrid控件,在ItemTemplate显示数据时,
DataBinder.eval_r(Container.DataItem,"Name")和Container.DataItem("Name")有什么区别?
DataBinder是System.Web里面的一个静态类,它提供了Eval方法用于简化数据绑定表达式的编写,但是它使用的方式是通过Reflection等开销比较大的方法来达到易用性,因此其性能并不是最好的。
Container则根本不是任何一个静态的对象或方法,它是ASP.NET页面编译器在数据绑定事件处理程序内部声明的局部变量,其类型是可以进行数据绑定的控件的数据容器类型(如在Repeater内部的数据绑定容器叫RepeaterItem),在这些容器类中基本都有DataItem属性.
因此你可以写Container.DataItem,这个属性返回的是你正在被绑定的数据源中的那个数据项。如果你的数据源是DataTable,则这个数据项的类型实际是DataRowView.效率高!
DataBinder通常使用的方法
<%# DataBinder.eval_r(Container.DataItem, "ColumnName") %>
<%# DataBinder.eval_r(Container.DataItem, "ColumnName", null) %>
<%# DataBinder.eval_r(Container, "DataItem.ColumnName", null) %>
Container通常使用的方法
<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
<%# ((DataRowView)Container.DataItem)["adtitle"] %>
<%# ((DataRowView)Container.DataItem)[n] %>
<%# ((DbDataRecord)Container.DataItem)[0] %>
<%# (((自定义类型)Container.DataItem)).属性.ToString() %>//如果属性为字符串类型就不用ToString()了
分享到:
相关推荐
在绑定数据时经常会用到这个句程序:<%# 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
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...
ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短...
<%# Bind(“Subject”) %> //绑定字段 <%# Container.DataItemIndex + 1%> //实现自动编号 <%# DataBinder.Eval(Container.DataItem, “[n]”)...# DataBinder.Eval(Container, “DataItem
Container, "DataItem.PLANTKEY") %>'> 宋体"> <asp:ListItem Selected="True" Value="">---- <asp:DropDownList ID="ddl_e_week_p" ToolTip='<%# DataBinder.Eval(Container, "DataItem.PLANTKey"&#...
<td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%> ; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText=...
Container.DataItem,”fldName”) %>时,编译时将会出现 “DataBinder.Eval:“System.Data.DataRow”不包含名称为 fldName 的属性” 的错误 解决办法:将 <%# DataBinder.Eval(Container....
GridView 只需要展示则BoundField ItemTemplate则可以在行里面展示任何控件 <asp:BoundField DataField="mainclass_code" HeaderText="大类...Container.DataItem, "subclass_name") %>' /> </asp:TemplateField>
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 7.显示时间所有部分,包括:年月日时分秒 <asp:BoundColumn DataField="收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm...
< %# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<% # DataBinder.Eval(Container.DataItem, "数据字段2")%>’ /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e....
<HeaderStyle HorizontalAlign=...Container, "DataItem.op_create_user") %>'> </asp:Label></div> </ItemTemplate> myDataGrid_d.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
Container.DataItem,"begtime").ToString()).ToShortDateString()%> 6.标题带链接 <%# "<a class="12c" target="_blank" href="http://www.webjx.com/CV/_">"+ DataBinder.Eval(Container.DataItem,...
private void Datagrid1_ItemCreated(object sender, ...Container.DataItem, "line_id") %>' name="RadioName"> 选择"> <asp:CheckBox ID="id" runat="server"></asp:CheckBox> </asp:TemplateColumn>
Container, "DataItem.ISHKPOD")) %>' /> /// /// 文件回形针 /// /// <param name="value"></param> /// <returns></returns> public bool IsPod(object value) { if (Convert.ToString(value) =...
id='<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e.Item....
1. 数据控件绑定时格式化日期方法: 代码如下: <asp DataField=”AddTime” HeaderText=”添加时间” DataFormatString=”{0:yyyy-... 用DataBinder.Eval进行数据绑定时: 代码如下: DataBinder.Eval(Container.DataItem
而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。 实现过程如下: pic_small.Aspx页面缩略图处的代码为: 代码如下:...Container.DataItem,”PicUrl”)%>’width=”118″runat=”server”> ShowWindow