首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> ASP教程
ASP 3.0高级编程(四十五)-ASP教程,ASP技巧
作者:网友供稿 点击:7
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
异步执行是指在后台检索数据,可以在全部数据返回之前在web页面上使用已经得到的数据。虽然可能需要的是全部的数据,但异步工作至少可提前开始处理数据。也可让用户先看到某些内容,这使得web站点看上去响应能力更强。
与tdc类似,rds数据控件可以通过设置object标记的参数或编写代码来设置其属性。下面举一个例子:
<object classid="clsid:bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" height="0">
       <param name="connect" value="dsn=pubs">
       <param name="server" value="w2000">
       <param name="sql" value="select * from authors">
</object>
等效于:
<object classid="clsid:bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" height="0">
</object>

<script language=jscript>

function window.onload()
{
       dsoauthors.connect = "dsn=pubs";
       dsoauthors.server = "w2000";
       dsoauthors.sql = "select * from authors";
       dsoauthors.refresh();
}
</script>
这里为connect参数使用了一个dsn,因为这非常适合该页面,但也可以是任何有效的ado连接字符串。
url是ado 2.5版提供的新特性,允许使用一个文件作为数据源。该文件可以有两种格式:一种是用recordset.save方法保存的记录集;另一种是一个asp页面,它创建一个记录集,然后将其保存在一个流中。代码如下:
<object classid="clsid:bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" height="0">
       <param name="url" value="datapage.asp">
</object>
文件datapage.asp包含以下vbscript代码:
<%
       dim rsdata
       set rsdata = server.createobject("adodb.recordset")
       rsdata.open "select * from authors", strconn
       rsdata.save response, adpersistxml
       rsdata.close
       set rsdata = nothing
%>
这只是创建了一个记录集,然后用save方法将记录集以xml格式保存到response对象中。在ado的早期版本中,只能将记录集存为物理文件,而ado 2.5版本能够直接将其存为流。这个asp页面的结果就是xml格式的记录集。下一章将研究关于流和xml数据的所有主题。
使用url属性优于使用connect和sql属性,其最大优点是:在用户可以看到的网页中不会出现连接的细节。考虑下面的对象定义:
<object classid="clsid: bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" hight="0">
       <param name="connect" value="dsn=pubs">
       <param name="server" value="w2000">
       <param name="sql" value="select * from authors">
</object>
第一行显示了连接的细节。此时能够看到dsn为pubs,并且我们选择了authors表的全部列。这无疑为电脑黑客进入web站点提供了潜在的路径,因为他们知道了服务器的名称以及数据库的一些细节。现在,考虑一下使用url属性的情况:
<object classid="clsid: bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" hight="0">
       <param name="url" value="datapage.asp">
</object>
现在,用户所见到的是一个asp网页的url地址,没有任何有关服务器和数据库的详细信息。
使用connect/sql属性的方法,用户可以清楚地见到连接的细节,而使用url所见的却是数据。从这一点上来说,消除了一个安全问题。
在脚本中设置rds数据控件的属性时,必须使用refesh方法,如下所示:
<script language=jscript>

function window.onload()
{
       dsoauthors.url="datapage.asp";
       dosauthors.refresh();
}
</script>
这将强迫数据控件使用新的属性值,并重新从数据提供者那里检索数据。除了refresh方法外,rds数据控件还有许多其他方法,如表10-3所示:
表10-3  rds数据控件的方法及说明

方 法

说 明

cancel

取消任何异步操作

cancelupdate

取消对数据的任何修改

createrecordset

创建一个空的记录集,这允许在本地创建新的数据集

movefirst

移到第一条记录

movelast

移到最后一条记录

movenext

移到下一条记录

moveprevious

移到上一条记录

refresh

更新来自数据存储的数据

reset

应用过滤或排序条件

submitchanges

将所有未解决的修改送回数据存储

在本章后面,会见到大多数方法的使用情况。
3.  mshtml数据控件
微软html(mshtml)数据控件比较特别的地方在于:mshtml是ie的一个组成部分,并能提供一个基于html文档的数据源。虽然本质上mshtml并不是为数据存储使用的一种格式,但如果确实有许多包含某些数据格式的html网页,mshtml可能会变得较为有用。
使用这个控件的代码如下所示:
<object id="dsoauthors" data="authors.html" hight="0" width="0">
</object>
为了能使用这个控件,必须为html标记指定id属性,因为正是id属性确定了字段的名称。例如:
<div id="au_id">172-32-1176</div>
<span id="au_lname">white</span>
<h1 id="au_fname">bob</h1>
<pre id="au_id">213-46-8915</pre>
<h2 id="au_lname">green</h2>
<h1 id="au_fname">cheryl</h1>
读者会注意到这看起来不太漂亮。是的,但正是这样才可以说明html标记的名称是无关紧要的,id才是重要的。使用mshtml dso解析时,上面的html脚本将会产生两行数据,每一行有三个字段。最后会得到类似于表10-4的数据:
表10-4  html脚本产生的数据

au_id

au_lname

au_fname

172-32-1176

white

bob

213-46-8915

green

cheryl

字段是由id属性确定的。如果一个标记的id与现有的id相同,那么这个标记的数据将成为新的一行,否则在相同的行中创建一个新的字段。
与已经讨论过的数据控件类似,mshtml数据控件有一个recordset属性,这也是该控件的唯一的一个属性。mshtml数据控件没有方法。
4.  xml数据控件
我们已经知道了一种将xml数据放入rds控件的方法,即使用rds数据控件和url属性从asp文件中获取xml数据。另外一种方法是使用xml data island(xml数据岛),这需要使用xml标记。在这里简要地提一下这个问题,因为在下一章会讨论处理xml数据的细节。
<xml>标记是一个与数据控件功能相似的浏览器html标记。在许多情况下与使用一个rds数据控件类似,但该标记是为处理xml数据而特别设计的。使用的方式有二种。
第一种是使用src属性来指定数据的位置。
<xml id="dsoauthors" src="authors.xml"></xml>
这表示使用文件authors.xml作为数据源。
另外,也可在标记中嵌入xml。
<xml id="dsoauthors">
  <authors>
       <author>
              <au_id>172-32-1176</au_id>
              <au_lname>white</au_lname>
              <au_fname>johnson</au_fname>
              <phone>408 496-7223</phone>
              <contract>true</contract>
       </author>
       <author>
              <au_id>213-46-8915</au_id>
              <au_lname>green</au_lname>
              <au_fname>marjorie</au_fname>
              <phone>415 986-7020</phone>
              <contract>true</contract>
       </author>
  </authors>
</xml>
我们将在下一章详细讨论xml数据控件。

10.2.5 数据绑定
迄今为止,已经可以用几个不同的rds数据控件将数据送到客户端,但还没有介绍当数据到达客户端后,如何处理数据。实际上,这些数据控件负责的是数据的存储及管理,并不真正地显示数据。因此,问题在于如何将数据从数据控件中取出,并将其提供给html元素,使用户能够见到数据。
使用客户端数据最简单的方法是将数据与html标记绑定。绑定就是在html元素和数据控件之间建立一种联系。数据控件主要负责管理数据,并为html元素提供数据,而html元素则将数据显示在屏幕上。
为了将数据源与html元素绑定,需要设置两个属性:
· datasrc,确定包含数据的数据控件。在数据源名称前总是要加一个“#”。
· datafld,确定绑定数据控件中的哪个字段。这些字段是数据控件管理的数据中的列名。因此对于一个数据库,就是表中的列名。
例如:
<object classid="clsid: bd96c556-65a3-11d0-983a-00c04fc29e33"
              id="dsoauthors" width="0" hight="0">
       <param name="url" value="datapage.asp">
</object>

<div datasrc="#dsoauthors" datafld="au_fname"></div>
<div datascr="#dosauthors" datafld="au_lname"></div>
这里,dsoauthors是一个标准的rds数据控件。我们创建了两个div元素,并通过设置属性datasrc指向先前定义的数据控件。然后设置属性datafld为字段名,在本例中为au_fname和au_lname。这就是数据绑定的全部过程。其结果如图10-2所示:

图10-2  数据绑定结果
需要记住一个重要事情是文本输出(johnson和white)根本没有在html脚本中出现。实际上html只由以上显示的内容组成。
因此,数据绑定就是数据控件管理远程数据源的数据,同时html元素使用该数据并将其显示在屏幕上的能力。
除此之外,html元素还有第三个属性:dataformatas,可以是html或text,表示如何格式化字段中的数据。缺省为text,但如果需要html格式的数据,可以通过数据绑定将其格式化,例如下面的文本文件。
description,image
the main wrox logo,<img src="logos/wroxlogo.gif">
the wrox conferences logo,<img src="logos/wroxconferenceslogo.gif">
the asptoday logo,<img src="logos/asptodaylogo.gif">
这是tdc的源文件,并且包含两个字段,第一个是说明,第二个是显示某些图像的html文本。现在把它和一个html表格进行绑定。
<table id="tbldata" datasrc="#dsologos">
  <thead>
   <tr>
    <td>description</td>
    <td>image</td>
   </tr>
  </thead>
  <tbody>
   <tr>
    <td><span datafld="description"></span></td>
    <td><span datafld="image"></span></td>
   </tr>
  </tbody>
</table>
这里不必为数据绑定担心,本例介绍的是表格数据绑定,下面将详细讨论这方面的内容。在这里使用是因为能较好地说明格式化数据。
在浏览器中打开它,将会看到图10-3所示的结果:

图10-3  绑定数据的格式化
可以看到数据文件中的三行数据全部显示在浏览器中,但是html作为文本显示。为了见到html格式的数据,需要使用属性dataformatas。
<td><span datafld="description"></span></td>
<td><span datafld="image" dataformatas="html"></span></td>
此时在浏览器打开它,会得到一个效果较好的html页面,如图10-4所示:

图10-4  绑定数据html格式化
将第二个字段格式化为html文档,这一事实说明了字段任何html标记都可以解释成为html文档。因此,img标记变为真正的图像,而源文件中并不包含任何img标记,只有绑定的数据。
可以为任一数据源中的字段使用这种格式,任何html标记都会被解释。这对于那些允许用户输入格式化文本的情形是比较有利的。
1.  支持数据绑定的元素
在上面的例子,使用了<span>、<div>和<table>标记来绑定数据,但并不是所有的html元素都支持数据绑定。表10-5详细列举了这些元素,表中列是:
· html元素定义支持数据绑定的元素。
· 绑定属性定义绑定到数据的html元素的属性。例如上面的div标记,绑定的数据就放在innertext属性中。如果使用a标记,并将其绑定到一个字段,那么数据将会放在href属性中。
· 可否更新数据指出元素中的绑定数据是否能被更新。
· 可否表格绑定指出该元素是否允许绑定子元素。稍后会讨论这个内容。· 可否作为html显示指出数据是否能格式化为html文档。
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·在ASP.NET中使用Office Web Components (OWC)创建统计图-.NET教程,数据库应用
·windows系统下jsp+mysql+tomcat的配置-JSP教程,Application/Applet
·把aspx文件编译成DLL文件-.NET教程,Asp.Net开发
·Haneng.com的简单留言板制作源程序例子-ASP教程,ASP应用
·使用VB实现邮箱自动注册(一):表单自动提交-.NET教程,VB.Net语言
·VS.NET安装指南(To菜鸟)-.NET教程,Asp.Net开发
·web下水晶报表的使用!-.NET教程,Web Service开发
·C# 静态成员和方法的学习小结-.NET教程,数据库应用
·IIS的使用-ASP教程,ASP基础
·asp讲座之二:读取通过表单发送的数据
最新文章
·photoshop鼠绘实例:浪漫夏夜壁纸_photoshop教程
·买卖中小网站交易的一些细节问题_站长心得
·七招打造最安全的windows xp操作系统_windows xp
·做google adsense最佳和最重要的要诀_网赚技巧
·上下文关联广告清单(内文广告)推荐_网赚技巧
·广告联盟,痛定思痛_网赚技巧
·insenz首批广告费发放给站长_网赚技巧
·李彦宏:三分之一时间用在寻找人才_站长访谈
·中国汽车资源网杨锁民:网络寒冬时下海_站长访谈
·做it新闻资讯网站应先学新浪_站长心得
相关主题
  • ASP 3.0高级编程(四十六)-ASP教程,ASP技巧
  • ASP 3.0高级编程(四十三)-ASP教程,ASP技巧
  • ASP 3.0高级编程(四十四)-ASP教程,ASP技巧
  • ASP 3.0高级编程(四十二)-ASP教程,ASP技巧
  • ASP 3.0高级编程(四十一)-ASP教程,ASP技巧
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭