ASP.NET 2.0中实现模板中的数据绑定

None.gif模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性。你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件)。ASP.NET 2.0仍然支持这些控件,但在模板中绑定数据的语法已经被简化和改善了。本文将讨论在数据绑定控件模板中绑定数据的多种方法。
None.gif
None.gif  数据绑定表达式
None.gif
None.gif  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语法的环境中使用它。
None.gif
None.gif  下面的例子演示了如何使用新的简化的Eval数据绑定语法绑定到DataList数据项模板(ItemTemplate)中的Image、Label和HyperLink控件。
None.gif
None.gif<asp:DataList ID
="DataList1" RepeatColumns="5" Width="600" runat="server" DataSourceID="ObjectDataSource1"
None.gif <ItemTemplate>
None.gif  <asp:HyperLink ID
="HyperLink1" runat="server" NavigateUrl=''%# Eval("PhotoID""PhotoFormViewPlain.aspx?ID={0}"%''
None.gif  <asp:Image ID
="Image1" Runat="server" ImageUrl=''%# Eval("FileName""images/thumbs/{0}"%'' /></asp:HyperLink>
None.gif  <asp:Label ID
="CaptionLabel" runat="server" Text=''%# Eval("Caption"%'' /
None.gif <
/ItemTemplate>
None.gif
/asp:DataList><br /
None.gif<asp:ObjectDataSource ID
="ObjectDataSource1" runat="server" TypeName="DataComponentTableAdapters.PhotosTableAdapter" SelectMethod="GetPhotosForAlbum"> 
None.gif
None.gif  数据绑定也可以作为控件的主题定义(theme definition)的一部分,这样我们就可以通过改变主题来随意地改变模板化控件的布局和外观。但是Theme(主题)模板中只能使用Eval(或者后面讨论的Bind)。绑定到任意的用户代码是被禁止的。 
None.gif
None.gif  FormView控件
None.gif
None.gif  DataList控件在来自数据源的数据项中进行迭代操作,并为每个数据项输出ItemTemplate(数据项模板)。这对于显示数据项列表是有用的,但是通常情况下,你希望在一个窗体中实现单条数据项的绑定操作。为了实现这个目的,ASP.NET 
2.0引入了FormView控件,它能够在任意的模板中每次显示一个数据项。DetailsView和FormView之间的主要差异在于,DetailsView拥有内建的表格显示方式,而FormView需要使用用户自定义的显示模板。在其它方面FormView和DetailsView对象模型是非常相似的。下面的例子显示了一个绑定到ObjectDataSource的FormView控件。该FormView的ItemTemplate属性包含数据绑定的Image、Label和HyperLink控件,与前面的DataList示例类似。
None.gif
None.gif<asp:FormView ID
="FormView1" runat="server" DataSourceID="ObjectDataSource1"
None.gif <ItemTemplate>
None.gif  <asp:Label ID
="CaptionLabel" runat="server" Text=''%# Eval("Caption"%'' Font-Size="32pt" /><br /
None.gif  <asp:Image ID
="Image1" runat="server" ImageUrl=''%# Eval("FileName""images/{0}"%'' /
None.gif  <asp:HyperLink ID
="HyperLink1" Text="Back to Album" NavigateUrl=''%# Eval("AlbumID""PhotosDataList.aspx?ID={0}"%'' runat="server" /
None.gif <
/ItemTemplate>
None.gif
/asp:FormView>
None.gif<asp:ObjectDataSource ID
="ObjectDataSource1" runat="server" TypeName="DataComponentTableAdapters.PhotosTableAdapter" SelectMethod="GetPhoto"
None.gif <SelectParameters>
None.gif<asp:QueryStringParameter Name
="PhotoID" DefaultValue="9" QueryStringField="ID" /
None.gif
/SelectParameters>
None.gif
/asp:ObjectDataSource> 
None.gif
None.gif  FormView与DetailsView类似,也跟踪当前显示的数据项,但是当数据源返回列表的时候,我们也可以选择支持多个数据项的分页操作。下面的例子显示了一个带有分页功能的FormView。
None.gif
None.gif<asp:FormView ID
="FormView1" Runat="server" DataSourceID="SqlDataSource1"
None.gifHeaderText
="Books for Author" AllowPaging="True"
None.gif <ItemTemplate>
None.gif  <asp:Image ID
="Image1" ImageUrl=''%# Eval("title_id","~/Images/{0}.gif"%'' Runat="server" /
None.gif  <asp:Label ID
="Label1" Font-Size="1.2em" Font-Bold="true" Text=''%# Eval("title"%'' runat="server" /
None.gif  <asp:Label ID
="Label2" Text=''%# Eval("price","{0:c}"%'' runat="server" /
None.gif <
/ItemTemplate>
None.gif
/asp:FormView>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机存储数字,计算机是如何存储数字的

计算机存储都是以补码的形式存储的。原因是简化计算机的基本运算电路,使加减法都可以用加法来进行运算。整数:原码:原码就是一个数的二进制形式,只不过最高位是用来表示符号位。例:1 0000 0001(原码),-1…

开发一个Spring Boot Starter!

在上一篇文章中,我们已经了解了一个starter实现自动配置的基本流程,在这一小结我们将复现上一过程,实现一个自定义的starter。 先来分析starter的需求: 在项目中添加自定义的starter依赖,自动在Spring中加载starter中的…

现实世界的虚拟神话

本文摘自:[url]http://www.doserv.com/news/f/2007-03-12/0017031936.shtml[/url]如今,服务器虚拟化已经成为业界的最为热门的话题之一。虚拟化技术自问世以来,人们纷纷为其神奇的效果而赞不绝口。正如VMware创始人兼CEO Diane Greene所说&am…

计算机图形学颜色表示,计算机图形学 颜色表示模型.ppt

计算机图形学 颜色表示模型颜色模型 颜色属于物理学和生物心理学范畴,它是由于光经过与周围环境相互作用后到达人眼,并经过一系列物理和化学变化转化为人眼所能感知的电脉冲的结果,因而。颜色的形成是一个复杂的物理和心理和心理相互作用的过…

揭开SVCHOST.exe进程之谜

svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。所以,深入了解这个程序,是玩电脑的必修课之一。 大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.e…

GridView中妙用LinkButton

说明:近来看到不少人想在DataGrid、GridView 使用比较灵活的方式来编辑、查看、删除其中的数据选项(当然它们本身也内置了这些功能),却苦于找不到比较好的办法,本人结合实际代码说明一下如何使用LinkButton来实现上述功…

计算机ppt文字1是什么原因,ppt让答案一个个出现,ppt让文字一个个出现

在使用Windows 10工作时会遇到形形色色的问题,比如开机发现无法连接网络。那么如何进行故障排除呢?下面小编与你分享具体步骤和方法。工具/材料Windows 10操作系统操作方法01启动Windows 10操作系统,如图所示。点击任务栏搜索框,开…

Taro-UI 2.0样式在H5上生效,微信小程序不生效?

答案: https://taro-ui.aotu.io/#/docs/questions taro-ui 自定义样式覆盖小程序组件样式使用到了 globalClass 这个微信小程序特性,由于微信小程序的限制,自定义的样式需要在 page 页面内使用,不能基于第三方组件再进行一层封装&…

抢先试用ReSharper UnitRun™ 1.0

在发布又一款免费的VS2005单元测试插件后随即安装了个ReSharper UnitRun™ 1.0玩玩,发现的确有其亮点,尤其喜欢的是在执行单元测试的过程中居然支持调试。 在安装过程中遇到个问题,一个注册的异常,后来到其官网上注册并得到个lice…

湖北工业大学计算机专硕学费,2019年湖北工业大学硕士研究生学费奖助政策

(一)全日制研究生奖助政策:1.对象:为具有中华人民共和国国籍,取得学校研究生学籍,在基本学制年限内、无固定工资收入且人事档案转入我校的全日制非在职研究生。2.奖助标准:(1)符合国家政策的研究生将获得国家助学金0.6…

python day27

今日内容 知识点补充 import jsonfrom datetime import datetime,date""" res {c1:datetime.today(),c2:date.today()} print(json.dumps(res)) 返回结果:TypeError: Object of type datetime is not JSON serializable """ class MyJson(json.…

I must be strong and carry on

扔掉的东西,特别是在时间里丢掉的,永远也回不来了。如我的正在逝去青春。 相信命运和缘分的东西。为什么自己会在这里,会认识周围的人,会和他们成为很好的朋友。努力完成自己的事情,不管成败。成则不骄,败则…

动态css语言less,less让css具有动态语言的特性

Less 是一种样式语言,它将 css 赋予了动态语言的特性,如变量、 继承、 运算、 函数。less 既可以在客户端上运行(支持IE 6, Webkit, Firefox),也可以借助 Node.js 或者 Rhino 在服务端运行。Less 做为 css 的一种形式的扩展,它并没…

硬件_LED

LED 平台&#xff1a;全志A64 源码&#xff1a;Android 7.1 Linux 3.1 led.c 1 //没有使用平台总线2 3 #include <linux/init.h>4 #include <linux/module.h>5 #include <linux/fs.h>6 #include <linux/device.h>7 #include <linux/slab.h>8 #i…

思科考试报名流程

有考生经常来信来电咨询&#xff0c;关于认证注册和考试报名流程的相关内容&#xff0c;针对这点中国思科注册网就为大家整理了以下详细的解释。 1、报名地点及联系方式&#xff1a;思科考试报名地点&#xff1a;a.选择您所在城市报名点报名&#xff1b;b.选择中国思科注册网报…

水星路由器DNS服务器未响应,水星路由器进不去设置怎么办

摘 要水星路由器进不去设置怎么办&#xff1f;这里要分两种情况&#xff0c;旧版水星路由器与新版水星路由器一、旧版水星路由器 1、当打开水星路由器设置页面&#xff0c;如果提示你输入用户名和密码&#xff0c;如下图所示。说明这是一台旧版本的水星路由器水星路由器进不去设…

DotNet程序员是不是最不幸福?

自我学C#和ASp.net时就来逛DotNet区&#xff0c;总是时不时有人问“学.net是不是没有前途&#xff1f;”&#xff0c;总是有人“报怨.net程序人收入比某某要低”。还有人说“在中国&#xff0c;程序人干不到老。”我也曾心动过&#xff0c;想过放弃。 但是&#xff0c;冷静下来…

zookeeper 简介

什么是ZookeeperZookeeper是一个分布式开源框架&#xff0c;提供了协调分布式应用的基本服务&#xff0c;它向外部应用暴露一组通用服务——分布式同步&#xff08;Distributed Synchronization&#xff09;、命名服务&#xff08;Naming Service&#xff09;、集群维护&#x…

discuz的ajax,discuz分页函数改成基于jqueryd的ajax分页函数

/***AJAX分页*$num 为总共的条数 比如说这个分类下共有15篇文章*$perpage为每页要显示的条数*$curpage为当前的页数*$url为请求路径&#xff0c;*$obj为html对象&#xff0c;返回给jqery处理*$page为$multipage这个字符串中要显示的表示页数的变量个数*$maxpages为最大的页数…

北大青鸟:比尔盖茨:我在微软的10大失误

北大青鸟&#xff1a;比尔盖茨&#xff1a;我在微软的10大失误来源&#xff1a;[url]http://www.accp-teem.com.cn/ArticleView/2007-7-11/Article_View_1172.Htm[/url] 微软上周四宣布&#xff0c;从2008年7月开始&#xff0c;董事会主席比尔盖茨将不再负责公司的日常管理&…