利用ASP.NET和AJAX解决手工拼接HTML问题
2009-05-12 22:45:43来源:未知 阅读 ()
Sys.UI.DataView
为了解决展示数据的问题,我们需要用到一个全新的客户端控件,那就是Sys.UI.DataView了,简称DataView。我们会用DataView替换掉上一篇文章中所说到的人手拼接HTML的部分,用于迭代生成一个ul中的li元素,因此看起来是把DataView当作Repeater来用。实际上,DataView的功能类似于ListView加上DetailsView。
如果你把一个Array绑定到DataView上,它会显示为一个ListView。与ListView的LayoutTemplate相类似的是,它也能够定义控件展示的整体布局,并且仅仅是迭代输出其中的一小部分。例如说,编写一个有thead的table,并且仅仅是迭代输出thead之后的tr。在这方面,是DataView和ListView完全一致的。唯一不同的是,客户端暂时还没有DataPager这样的控件,所以DataView必须一次性的完整显示整个Array的数据。
如果你把单个Object绑定到DataView上,它就会显示为一个DetailsView。这使得你可以使用两个DetailsView就做出经典的Master-Details展示模式,和在服务器端分别用ListView和DetailsView做出来的一样。当然,你不能指望DataView能够好像DetailsView那样,自动帮你分析每一个数据项并映射出对应的HTML模板,因此HTML模板还是要你自己手写的,但至少那是在HTML中编写模板,编写时能够享受IDE带来的各种好处,维护时也更容易看懂自己(或别人)原来写下的HTML。
JavaScript语法
接下来,我们就要把DataView投入到实际应用中去了。首先,我们说一下如何用JavaScript来实例化一个DataView。有编写ASP.NET AJAX客户端代码经验的人对$create应该不会觉得陌生,因为DataView继承自Sys.UI.Control,我们仍然可以用$create来实例化它。不过,在此之前,我们先要把对应的HTML编写好:
以下为引用的内容: <ul id="itemTemplate" class="sysTemplate"> |
然后我们就可以基于itemTemplate这个HTML元素创建控件了:
以下为引用的内容: $create(Sys.UI.DataView, { |
现在,页面显示出来的结果和之前我们人手拼接HTML的版本完全一致,不过我们已经不在需要维护嵌入在JavaScript中的HTML代码了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- SqlDataReader指定转换无效的解决方法 2020-03-23
- ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法 2020-03-03
- 详解.net mvc session失效问题 2020-02-21
- Asp.net MVC中Razor常见的问题与解决方法总结 2020-01-18
- .NET发送邮件遇到问题及解决方法 2020-01-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash