| 深入剖析微软ASP.NET Ajax中的数据绑定架构 | |
| 上篇 | 深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一 |
| 深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之二 | |
| 下篇 | 深入剖析微软ASP.NET Ajax中的数据绑定构架下篇之一 |
| 深入剖析微软ASP.NET Ajax中的数据绑定构架下篇之二 | |
【51CTO.com独家特稿】三、命名空间Sys.Preview.UI.Data中的客户端控件
(一)ItemView控件
有时,我们需要向用户显示一个关于我们的集合项的详细视图,例如在一个购物应用程序中显示关于你的产品的细节信息。MS AJAX客户端控件ItemView控件能够帮助你实现这一特征,类似于ASP.NET服务器控件DetailsView对应的行为,但是它完全运行于客户端。该ItemView类以及ListView类都派生自基类—Sys.UI.Data.DataControl。
事实上,在命名空间Sys.Preview.UI.Data中存在若干客户端控件,例如DataControl(ItemView和ListView的父类),DataNavigator,ItemView,ListView,XSLTView等。
在此,我们仅关注两个控件—ItemView和ListView。注意,在开发中,类似于ASP.NET服务器控件GridView相对于ObjectDataSource,MS AJAX中的客户端控件ItemView(或ListView)正对应于DataSource。下列表格列出ItemView控件常用的和自定义的属性。
|
属性名 |
描述 |
|
id |
标识ItemView控件。 |
|
canMoveNext |
如果还存在下一条记录,则为true;否则为false。 |
|
canMovePrevious |
如果还存在前一条记录,则为true;否则为false。 |
|
data |
存储所有的加载到当前ItemView控件中的Sys.Preview.Data.DataTable对象—这些DataTable对象都是通过DataSource控件从后台获取的。 |
|
dataIndex |
标识当前记录的索引号。 |
|
dataItem |
基于dataIndex返回当前记录。 |
|
length |
返回的记录总数。 |
|
itemTemplate |
这个模板用于渲染列表中的单个项(例如使用一个<tr>标签)。它必须位于layoutTemplate模板内。 |
|
EmptyTemplate |
这个模板用于当数据源中没有数据项时(或该ItemView仍然等待来自于服务器端的数据时)生成一个空消息。 |
ItemView控件中的常用方法
|
方法名 |
描述 |
|
addItem |
把一个新项添加到客户端数据集合中,并且这个操作将使dataset变“脏” |
|
deleteCurrentItem |
从客户端数据集合中删除当前项,这个操作也将使dataset变“脏” |
|
moveNext |
移动到下一条记录,这个操作将再次触发定义于ItemTemplate中的控件的数据绑定 |
|
movePrevious |
移动到前一条记录,这个操作也将再次触发定义于ItemTemplate中的控件的数据绑定 |
请注意上面所有的操作都发生于客户端—在此仅修改了客户端数据。因此,如果你想把所作的改变提交(保存)到服务器,那么,你必须调用DataSource控件中的相应方法。
显然,该ItemView总是用于在客户端显示一个记录,而接下来要讨论的ListView控件则用于列出符合某些条件的记录。
(二)ListView控件
类似于ASP.NET的GridView服务器控件,MS AJAX的ListView控件也提供了AJAX方式的客户端实现。尽管你可以使用传统型ASP.NET 2.0 GridView服务器控件,然后简单地添加一个MS AJAX UpdatePanel控件以便让你的GridView工作于AJAX方式,但是这种方法的效率并不高而且并非“纯”MS AJAX实现。因此,我们可以使用完全基于客户端的MS AJAX控件ListView来实现这一过程,并且效果更好。不必担心,ListView控件的操作十分类似于GridView提供一系列相关概念。但是注意,因为目前还没有针对这些内容的智能感知支持的IDE,所以,你必须十分细致地分析本文所附实例中的源码。
【作者注】在微软最新的Visual Studio "Orcas"中已经提供了对MS AJAX开发中的Javascript编程的智能感知支持。
| 共3页: 1 [2] [3] 下一页 | ||
|
|
|||
| · McWill、WiMAX、3G博弈 · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 |
· 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·虚拟化改变操作系统的角.. ·拯救系统管理员 |
·美国选民:我为什么选布什 ·VMware公司中文命名挑战赛 |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |