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

HTML中的数据绑定_CSS/HTML

May 16, 2016 pm 12:12 PM

信息来源: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


   
   


   
   
   
   
   


FirstLastBirthDeathOrigin
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()"< INPUT ID=cmdNavPrev TYPE=BUTTON VALUE=" < "
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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom 每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom Apr 17, 2025 am 10:55 AM

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

与部分元素的交易 与部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天发表了两篇文章:

带有HTML对话框元素的一些动手 带有HTML对话框元素的一些动手 Apr 16, 2025 am 11:33 AM

这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

我们如何标记Google字体并创建Goofonts.com 我们如何标记Google字体并创建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

多脚步滑块:一般案例 多脚步滑块:一般案例 Apr 12, 2025 am 10:52 AM

这个两部分系列的第一部分详细介绍了我们如何获得两次跑步的滑块。现在,我们&#039;

'订阅播客”链接应在哪里? '订阅播客”链接应在哪里? Apr 16, 2025 pm 12:04 PM

有一段时间,iTunes是播客中的大狗,因此,如果您将“订阅播客”链接到喜欢:

See all articles