简化的Eval数据绑定语法绑定到DataList数据项模板

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)。绑定到任意的用户代码是被禁止的。

时间: 2024-11-01 04:13:18

简化的Eval数据绑定语法绑定到DataList数据项模板的相关文章

ASP.NET 2.0高级数据处理之数据绑定语法

asp.net|高级|数据|语法 在前面的"模板中的数据绑定"部分中我们论述过,ASP.NET包含了一种宣告式的数据绑定语法,用于在数据绑定模板中把数据源字段与控件的属性相关联.你也可以在代码中使用<%# ... >语法来进行任意值的数据绑定,例如页面和控件属性.集合.表达式,甚至于方法调用的返回结果.为了强制计算数据绑定的值,你必须在包含数据绑定语法的页面或控件上调用DataBind方法.下面的表格显示了ASP.NET中的数据绑定语法的一些例子. 单个属性 Custome

asp.net中将数据库绑定到DataList控件的实现方法与实例代码

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite

asp.net中数据库绑定到DataList控件操作方法

我现在要做这个页面,然后我用DataList控件显示题目,我想问如何把我数据库教程的题目绑定到DataList控件里面,然后让它显示考试题目? 解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如:<asp教程:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetai

asp.net中将数据库绑定到DataList控件的实现方法与实例代码_实用技巧

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite

[ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定

在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDownList, ListBox.CheckBoxList和RadioButtonList都是其子类.ASP.NET MVC通过对HtmlHelper和HtmlHelper<TModel>的扩展实现了对不同类型的<select>元素的绑定,它们以扩展方法的形式定义在SelectExten

自己手工创建的dataview绑定到datalist上没反应

问题描述 我想得到一和数据库表里的字段相应的一个所有值为空的dataview以便在从数据库中提值时没有任何值的情况下让datalist绑定自己写的那个dataview,而不是在有数据时生成的dataview,我写了个方法:publicstaticvoidgetTheNullDataView(stringcols,stringtableName,outDataViewdv){string[]sArray=cols.Split(newchar[]{','});intcount=sArray.Leng

asp.net页面中输出变量、Eval数据绑定等总结

在asp.net应用程序中,在asp.net页面常用的<%@ %>.<%# %>.<%= %>.在全球化的项目中使用<%$ %>绑定资源项目,在asp.net mvc中使用<%: %>绑定ViewData. <%@ %>主要用于在web页面定义Page.引入控件.组件.设置Cache等: <%@ Page %> <%@ Assembly %> <%@ Import %> <%@ MasterT

怎么把存储过程绑定到DataList中让它显示

问题描述 这是存储过程:createprocedureRwardPointsRecord@UserIdintasdeclare@DeRpintdeclare@LeaveRpintdeclare@InRpintdeclare@TotalRpintset@TotalRp=(selectsum(RewardPoints)fromUserInfowhereId=@UserId)set@InRp=(selectsum(RewardPoints)fromRpRecordwheretag=1andUserId

一起谈.NET技术,asp.net页面中输出变量、Eval数据绑定等总结

      在asp.net应用程序中,在asp.net页面常用的<%@ %>.<%# %>.<%= %>.在全球化的项目中使用<%$ %>绑定资源项目,在asp.net mvc中使用<%: %>绑定ViewData.       <%@ %>主要用于在web页面定义Page.引入控件.组件.设置Cache等: <%@ Page %><%@ Assembly %><%@ Import %><%