站内搜索
分类列表
本类阅读排行
本类推荐文章
广告
使用IE4进行不换页的数据提交
作者: 来源: 点击: 日期:2007-7-14 2:18:39
数据是商业活动的核心,因而,对于商业应用来说,能够快速准确的获取数据并生成有意义的报表有着巨大的价值。互联网迅速发展的今天,企业内部的局域网也在飞速的发展。互联网的主要形式是将海量的信息发送给浏览者,而在企业内部网的应用中,数据的有意义的显示很重要,但更加重要的是大量数据安全的提交。目前的网络应用将主要的精力放在数据的显示中,而对于同样重要的数据提交,相应的方面就做的比较薄弱。这种情况的出现首先是技术上的原因。在IE4之前,数据提交只有非常单一的一种的方式,用户填写表格,通过Form进行数据提交,提交成功的数据通过网络回到用户本地的浏览器,通过各种方式显示出来。而IE4的出现,从技术上引入的动态HEML技术,大大的丰富了数据提交的手段。
IE4或更高的版本中,增加了对DHTML,即动态HTML的支持。提高了网络中的动态特性。使用DHTML,可以将数据绑定在Web页面上,并对其进行过滤和排序。而在DHTML之前,必须使用服务器程序来作这项工作。(对于如何使用数据绑定,在很多网络文章都已经有了介绍,这里就不在赘述。)
经常且频繁进行的数据提交是对目前大部分的网络应用一个非常严重的考验。普通的数据提交方式是基于Form的提交方式。这种方式使用一个Form将需要提交的信息放在Form中的几个输入控制如input,radiobar等等中,通过Submit()方法将数据Post到服务器进行处理。这种方式的数据提交有一个极大的缺点――必须进行换页提交。本页的数据在提交之后无法进行重新的利用。数据必须在一次提交完毕。也就是说,即使是用户自已输入的数据,在经过数据提交之后,也必须通过网络才能重新显示给用户。这种方式为用户带来了很大的不便的同时,极大的加重了网络的负担。
如何实现的数据的本页提交呢?有两种方法可以办到。这两种方法将用到DHTML中的两种不同技术数据绑定(DataBinding)和Iframe技术。这两种技术是IE4或更高的版本支持。
方法一:使用数据绑定控件进行不换页数据提交
数据绑定控件的主要用于动态的显示数据。并支持在用户本地对数据进行排序、过滤、添加、删除等操作。但Microsoft有一点没有强调,那就是数据绑定控件是提供给用户的一个服务器端和客户端进行互相通信的接口。在不换页的情况下,使用控件的reset方法,可以将客户端数据传递到服务器端,并接收服务器端传回的消息。来看一个实际的例子。
1.建立网页hello.html;
<html>
<head>
<title>sampleoftdcsubmit</title>
<!--Writebyvictoryu05/15/2000-->
</head>
<!--DataSourceisDataBindingcontrol-->
<objectclassid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"id="DataSource"VIEWASTEXT>
<paramNAME="UseHeader"VALUE="True">
<paramNAME="FieldDelim"VALUE=",">
<paramNAME="DataURL"VALUE="Getdata.asp?ID=0">
</object>
<scriptfor=DataSourceevent=ondatasetcomplete>
Name.value="";
Age.value="";
Age.disabled=true;
outputButton.disabled=true;
</script>
<script>
varrowindex=0;
functionclickTR()
{
varsrcElement=event.srcElement;
while(srcElement.tagName!="TR")
{
srcElement=srcElement.parentElement;
}
rowindex=srcElement.rowIndex;
Name.value=srcElement.cells(0).innerText;
Age.value=srcElement.cells(1).innerText;
Age.disabled=false;
outputButton.disabled=false;
}
functionsubmitData()
{
varrs=DataSource.recordset;
rs.AbsolutePosition=rowindex;
if(rs("Name").value==Name.value&&rs("Age").value==Age.value)
{
alert("Datanochange");return;
IE4或更高的版本中,增加了对DHTML,即动态HTML的支持。提高了网络中的动态特性。使用DHTML,可以将数据绑定在Web页面上,并对其进行过滤和排序。而在DHTML之前,必须使用服务器程序来作这项工作。(对于如何使用数据绑定,在很多网络文章都已经有了介绍,这里就不在赘述。)
经常且频繁进行的数据提交是对目前大部分的网络应用一个非常严重的考验。普通的数据提交方式是基于Form的提交方式。这种方式使用一个Form将需要提交的信息放在Form中的几个输入控制如input,radiobar等等中,通过Submit()方法将数据Post到服务器进行处理。这种方式的数据提交有一个极大的缺点――必须进行换页提交。本页的数据在提交之后无法进行重新的利用。数据必须在一次提交完毕。也就是说,即使是用户自已输入的数据,在经过数据提交之后,也必须通过网络才能重新显示给用户。这种方式为用户带来了很大的不便的同时,极大的加重了网络的负担。
如何实现的数据的本页提交呢?有两种方法可以办到。这两种方法将用到DHTML中的两种不同技术数据绑定(DataBinding)和Iframe技术。这两种技术是IE4或更高的版本支持。
方法一:使用数据绑定控件进行不换页数据提交
数据绑定控件的主要用于动态的显示数据。并支持在用户本地对数据进行排序、过滤、添加、删除等操作。但Microsoft有一点没有强调,那就是数据绑定控件是提供给用户的一个服务器端和客户端进行互相通信的接口。在不换页的情况下,使用控件的reset方法,可以将客户端数据传递到服务器端,并接收服务器端传回的消息。来看一个实际的例子。
1.建立网页hello.html;
<html>
<head>
<title>sampleoftdcsubmit</title>
<!--Writebyvictoryu05/15/2000-->
</head>
<!--DataSourceisDataBindingcontrol-->
<objectclassid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"id="DataSource"VIEWASTEXT>
<paramNAME="UseHeader"VALUE="True">
<paramNAME="FieldDelim"VALUE=",">
<paramNAME="DataURL"VALUE="Getdata.asp?ID=0">
</object>
<scriptfor=DataSourceevent=ondatasetcomplete>
Name.value="";
Age.value="";
Age.disabled=true;
outputButton.disabled=true;
</script>
<script>
varrowindex=0;
functionclickTR()
{
varsrcElement=event.srcElement;
while(srcElement.tagName!="TR")
{
srcElement=srcElement.parentElement;
}
rowindex=srcElement.rowIndex;
Name.value=srcElement.cells(0).innerText;
Age.value=srcElement.cells(1).innerText;
Age.disabled=false;
outputButton.disabled=false;
}
functionsubmitData()
{
varrs=DataSource.recordset;
rs.AbsolutePosition=rowindex;
if(rs("Name").value==Name.value&&rs("Age").value==Age.value)
{
alert("Datanochange");return;
使用IE4进行不换页的数据提交 评论
