`
pleasetojava
  • 浏览: 698322 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Eval( " ") DataBinder.Eval(Container.DataItem, " ") 这两种写法区别

阅读更多

Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定

bind是双向绑定,但需数据源可更改才能用

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语法的环境中使用它。
下面的例子演示了如何使用新的简化的Eval数据绑定语法绑定到DataList数据项模板(ItemTemplate)中的Image、Label和HyperLink控件。

<asp:DataList ID= "DataList1 " RepeatColumns= "5 " Width= "600 " runat= "server " DataSourceID= "ObjectDataSource1 ">
 <ItemTemplate>
  <asp:HyperLink ID= "HyperLink1 " runat= "server " NavigateUrl= '<%# Eval( "PhotoID ", "PhotoFormViewPlain.aspx?ID={0} ") %> '>
  <asp:Image ID= "Image1 " Runat= "server " ImageUrl= '<%# Eval( "FileName ", "images/thumbs/{0} ") %> ' /></asp:HyperLink>
  <asp:Label ID= "CaptionLabel " runat= "server " Text= '<%# Eval( "Caption ") %> ' />
 </ItemTemplate>
</asp:DataList><br />
<asp:ObjectDataSource ID= "ObjectDataSource1 " runat= "server " TypeName= "DataComponentTableAdapters.PhotosTableAdapter " SelectMethod= "GetPhotosForAlbum ">

  数据绑定也可以作为控件的主题定义(theme definition)的一部分,这样我们就可以通过改变主题来随意地改变模板化控件的布局和外观。但是Theme(主题)模板中只能使用Eval(或者后面讨论的Bind)。绑定到任意的用户代码是被禁止的。

分享到:
评论

相关推荐

    DataBinder.Eval总结

    在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> 今天又学到一种,而且微软也说这种方法的效率要比以上两种高。 (...

    深入理解Asp.net中DataBinder.Eval的用法总结

    <%# 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>

    AspNetPager1

    <td><%#DataBinder.Eval(Container.DataItem,"Activation")%> <td><%#DataBinder.Eval(Container.DataItem, "DealerId")%> <td><%#DataBinder.Eval(Container.DataItem, "UserId")%> <td><%#DataBinder.Eval...

    ASP.NET完全入门

    ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短...

    ASP.NET Eval 求值运算的一些用法

    <%# Bind(“Subject”) %> //绑定字段 <%# Container.DataItemIndex + 1%> //实现自动编号 <%# DataBinder.Eval(Container.DataItem, “[n]”&#41...# DataBinder.Eval(Container, “DataItem

    浅析DataBinder.Eval和Eval的区别

    缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器

    DataList绑定到Row[]行集合的问题的方法

    Container.DataItem,”fldName”) %>时,编译时将会出现 “DataBinder.Eval:“System.Data.DataRow”不包含名称为 fldName 的属性” 的错误 解决办法:将 <%# DataBinder.Eval(Container....

    C# 列表的下拉框联动.pdf

    Container, "DataItem.PLANTKEY") %>'> 宋体"> <asp:ListItem Selected="True" Value="">---- <asp:DropDownList ID="ddl_e_week_p" ToolTip='<%# DataBinder.Eval(Container, "DataItem.PLANTKey"&#...

    C#自定义分页控件

    <td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%> ; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText=...

    webfrom:BoundField.pdf

    GridView 只需要展示则BoundField ItemTemplate则可以在行里面展示任何控件 <asp:BoundField DataField="mainclass_code" HeaderText="大类...Container.DataItem, "subclass_name") %>' /> </asp:TemplateField>

    ASP.NET程序中常用的三十三种代码.txt

     < %# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<% # DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />  7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e....

    。NET经典技术

    Container.DataItem,"begtime").ToString()).ToShortDateString()%>  6.标题带链接 <%# "<a class="12c" target="_blank" href="http://www.webjx.com/CV/_">"+ DataBinder.Eval(Container.DataItem,...

    asp.net Gridview里添加汇总行

    if (e.Row.RowType == DataControlRowType.DataRow) { totalcash += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, “cash”)); totalunbalanced += Convert.ToDecimal(DataBinder.Eval(e.Row....

    webfrom-切换单选框和复选框.pdf

    private void Datagrid1_ItemCreated(object sender, ...Container.DataItem, "line_id") %>' name="RadioName"> 选择"> <asp:CheckBox ID="id" runat="server"></asp:CheckBox> </asp:TemplateColumn>

    C#(ASP.NET)DateTime日期类型格式化显示

    DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 7.显示时间所有部分,包括:年月日时分秒 <asp:BoundColumn DataField="收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm...

    webfrom-列表文本内容自动换行 word-break-keep-all;word-wrap-n.pdf

    <HeaderStyle HorizontalAlign=...Container, "DataItem.op_create_user") %>'> </asp:Label></div> </ItemTemplate> myDataGrid_d.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");

    ASP.NET常用代码

    id='<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e.Item....

    webfrom-前台加载后台方法 --# --.pdf

    Container, "DataItem.ISHKPOD")) %>' /> /// /// 文件回形针 /// /// <param name="value"></param> /// <returns></returns> public bool IsPod(object value) { if (Convert.ToString(value) =...

Global site tag (gtag.js) - Google Analytics