搜索
首页web前端css教程HTML中的数据绑定_CSS/HTML

信息来源:Wayne_Deng的专栏

有没想过在java script中使用recordset?原来在客户端操作数据也可以这样简单,定义一个数据源,将数据绑定在各种tag上,实现应用程序般的效果,酷毙了!(首先申明一点,文章的内容全部来自msdn,不过用我自己的话总结而已。)

先看看这样两个例子:
http://msdn.microsoft.com/workshop/samples/author/databind/dbevts.htm
http://msdn.microsoft.com/workshop/samples/author/databind/dbupdate.htm
不得不又一次佩服微软。

这个是DataBinding的架构:
架构
当然实现数据绑定有下面几步:

第一步,定义数据源
从IE4.0起,就支持下面四种数据源:



Tabular Data Control (TDC)
TDC提供了一个简单的访问带有格式的文本数据的方法,一般是csv文件。
下面是一个简单的示例:

    ID=dsoComposer WIDTH=0 HEIGHT=0>
    



Remote Data Service (RDS)
远程数据服务,直接访问远程服务器端的数据,Internet Explorer 4.0. RDS 通过OLE-DB 或 Open Database Connectivity (ODBC)来实现。

示例:

    ID=dsoComposer HEIGHT=0 WIDTH=0>
    
    
    

不过感觉有点安全性的问题,因为客户端能看到这段代码。

XML Data Source
XML就不多说了,在IE4.0中这样使用:
    CODE="com.ms.xml.dso.XMLDSO.class"
    ID="xmldso"
    WIDTH="0"
    HEIGHT="0"
    MAYSCRIPT="true">
    


Internet Explorer 5以上可以这样:



另外IE还提供了一个XML数据岛的概念:XML Data Islands.

 
MSHTML Data Source
html数据页示例:

Hector


Berlioz
1803

Modest


Moussorgsky




Liszt
1811

一旦定义可以这样访问:



.第二步:绑定数据到HTML元素上
一般都是通过tag中的datasrc和datafld实现绑定的。例如:







这个是绑定表格的示例:
http://msdn.microsoft.com/workshop/samples/author/databind/dbtable.htm

其中数据来源:

           
 
 

绑定的table


   
   


   
   
   
   
   


First Last Birth Death Origin
Berlioz 1803 1869 Perancis
Moussorgsky sederhana 1839 1881 Rusia
Franz Liszt 1811 1886 Perancis
Antonio Vivaldi 1678 1741 Itali
Johann1750 Jerman
Johann1758 Jerman ketuhar 1770 1827 Jerman
Wolfgang Amadeus Mozart 1756 1791 Austria
Joseph Haydn 1732 1809 Jerman
Claude Debussy 1862 1918 Perancis


Langkah ketiga: penambahan dinamik, pemadaman, dsb. >Sudah tentu Binding boleh menjadi dinamik:
Dalam skrip:
span1.dataSrc = "#dsoComposer";
span1.dataFld = "compsr_first"; >
Dan anda boleh mengakses ado sumber data:
var oRecordSet = dsoComposer.recordset; tentu ada oRecordSet .MoveNext dan sebagainya.

Contohnya:
onclick="tdcComposers.recordset.MoveFirst()" onclick="tdcComposers.recordset.MovePrevious();
if (tdcComposers.recordset.BOF)
tdcComposers.recordset."MoveFirst(); > ;
onclick="tdcComposers.recordset.MoveNext();
if (tdcComposers.recordset.EOF)
sd .recordset .MoveLast();">
onclick="tdcComposers.recordset.MoveLast()">

Ia juga boleh digunakan seperti ini:
>Hanya tambah dan padam rekod : oRecordSet.AddNew() dan oRecordSet.Delete().

Langkah 3: Balas kepada pelbagai peristiwa data (model acara)
Bagaimana untuk mengendalikan data dengan sewajarnya selepas ia berubah?
Kaedah yang disediakan dalam msdn adalah seperti berikut:
……
>Ini ialah senarai nama acara:

Buih Acara Boleh Dibatalkan Digunakan untuk Diperkenalkan Dalam Versi Internet Explorer
sebelum kemas kini True True bound elements 4.0
onafterupdate True False bound elements 4.0
onrowenter True False elements SO 4.0
onrowexit True False DSO 4.0
onbeforeunload False False tetingkap 4.0
ondataavailable True False DSO 4.0
ondatasetcomplete True False DSO 4.0>pada True False DSO 4.0
set True False DSO 4.0 onreadystatechange True False DSO 4.0
oncellchange True False DSO 5.0
onrowsinserted True False DSO 5.0
onrowsdelete True False DSO 5.0 Bagaimana pula?
Saya rasa http://msdn.microsoft.com/workshop/samples/author/databind/dbevts.htm ialah contoh aplikasi yang agak komprehensif Jika anda mengkajinya dengan teliti, anda pasti akan mendapat sesuatu.

Terdapat banyak contoh penggunaan data binding untuk mencapai paging di Internet Sebenarnya, data binding boleh melakukan lebih banyak perkara, bukan? Perlu ada aplikasi yang sangat besar dalam pelanggan kaya, seperti membuat grid data yang sangat kompleks.

Apa yang saya ingin ketahui lebih lanjut sekarang ialah bagaimana untuk mencapai penyegerakan dengan pelayan dengan mudah, kerana pengikatan data pelanggan tidak mempunyai kesan pada pelayan (anda boleh menjana sumber data dari pelayan, tetapi operasi pada pelanggan tidak akan secara automatik kembali ke pelayan), msdn mengatakan bahawa RDS boleh digunakan, tetapi kaedah ini terlalu kekok dan tidak selamat.


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Draggin'和droppin'在反应中Draggin'和droppin'在反应中Apr 17, 2025 am 11:52 AM

React生态系统为我们提供了许多库,所有库都集中在拖放的相互作用上。我们有反应,反应,可爱dnd,

快速软件快速软件Apr 17, 2025 am 11:49 AM

最近有一些关于快速软件的完美互连的事情。

带有背景折叠的嵌套梯度带有背景折叠的嵌套梯度Apr 17, 2025 am 11:47 AM

我可以说我经常使用背景折叠。 IT Wager IT几乎从未在日常CSS工作中使用。但是在斯特凡·朱迪斯(Stefan Judis)的帖子中,我想起了它,

使用React Hooks使用requestAnimationFrame使用React Hooks使用requestAnimationFrameApr 17, 2025 am 11:46 AM

使用RequestAnimationFrame进行动画化应该很容易,但是如果您还没有彻底阅读React的文档,那么您可能会遇到一些事情

需要滚动到页面顶部吗?需要滚动到页面顶部吗?Apr 17, 2025 am 11:45 AM

向用户提供此链接的最简单方法是针对元素上的ID的链接。如此...

最好的(GraphQl)API是您编写的API最好的(GraphQl)API是您编写的APIApr 17, 2025 am 11:36 AM

听着,我不是GraphQL专家,但我确实喜欢与之合作。作为前端开发人员,它向我曝光数据的方式非常酷。它就像一个菜单

在保留边框半径的同时,扩展盒子的各种方法在保留边框半径的同时,扩展盒子的各种方法Apr 17, 2025 am 11:19 AM

我最近注意到Codepen的一个有趣的更改:在悬停在主页上的笔时,有一个矩形,圆角在后面扩展。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具