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(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
缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器
Container.DataItem,”fldName”) %>时,编译时将会出现 “DataBinder.Eval:“System.Data.DataRow”不包含名称为 fldName 的属性” 的错误 解决办法:将 <%# DataBinder.Eval(Container....
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=...
GridView 只需要展示则BoundField ItemTemplate则可以在行里面展示任何控件 <asp:BoundField DataField="mainclass_code" HeaderText="大类...Container.DataItem, "subclass_name") %>' /> </asp:TemplateField>
< %# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<% # DataBinder.Eval(Container.DataItem, "数据字段2")%>’ /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e....
Container.DataItem,"begtime").ToString()).ToShortDateString()%> 6.标题带链接 <%# "<a class="12c" target="_blank" href="http://www.webjx.com/CV/_">"+ DataBinder.Eval(Container.DataItem,...
if (e.Row.RowType == DataControlRowType.DataRow) { totalcash += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, “cash”)); totalunbalanced += Convert.ToDecimal(DataBinder.Eval(e.Row....
private void Datagrid1_ItemCreated(object sender, ...Container.DataItem, "line_id") %>' name="RadioName"> 选择"> <asp:CheckBox ID="id" runat="server"></asp:CheckBox> </asp:TemplateColumn>
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}") 7.显示时间所有部分,包括:年月日时分秒 <asp:BoundColumn DataField="收款时间" HeaderText="收款时间" DataFormatString="{0:yyyy-MM-dd HH24:mm...
<HeaderStyle HorizontalAlign=...Container, "DataItem.op_create_user") %>'> </asp:Label></div> </ItemTemplate> myDataGrid_d.Attributes.Add("style", "word-break:keep-all;word-wrap:normal");
id='<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>' /> 7.表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item ||e.Item....
Container, "DataItem.ISHKPOD")) %>' /> /// /// 文件回形针 /// /// <param name="value"></param> /// <returns></returns> public bool IsPod(object value) { if (Convert.ToString(value) =...