asp网站设计报告,ASP网站开发实用教程

http://www.itjxue.com  2023-01-17 04:32  来源:未知  点击次数: 

基于 asp.net 的 需求分析 设计 报告

基于ASP.NET的电子商务网站构建技术

【摘 要】ASP.NET是现在最新最热门的电子商务网站构建技术之一,与微软的SQL Server数据库集成有很好的表现。文章主要探讨了ASP.NET和SQL Server的相关技术,及优化网站性能的技巧。

【关键词】电子商务网站;ASP.NET;MS SQL Server;会话;连接池

【作者简介】卢莉,供职于华南师范大学增城学院。

随着计算机网络的普及,计算机网络应用日趋丰富,网络体现出来的作用越来越大,信息产业部副部长奚国华在2005年月28日第六届中国(北京)移动通信国际论坛的开幕式上透露,截至目前,中国互联网上网人数已经超过1亿,人数仅次于美国。越来越多的人把上网作为自己获取信息的首要途径。利用Internet足不出户就可以获取所需要的信息,实现购物、炒股、旅游和学习等。目前在网上进行贸易的企业和个人日益增多,除了网上购物,还有网上商品销售、网上拍卖、网上货币支付等。面对这么大的市场,中国的公司和企业要更好的展示企业形象,宣传企业,推介产品,就要建立电子商务网站,开展电子商务活动。利用网站可以提高知名度,带来无限商机。

一、电子商务网站的基本模块

电子商务缩写为EC(Electronic-Commerce),也有人称为电子贸易,它是指采用网络技术实现数据的交换,从而完成整个的商业交易过程。现在随着INTERNET技术的日益成熟,人们所探讨的电子商务主要是以INTERNET来完成。这里所指的电子商务网站是基于INTERNET的交易类网站。国内这类网站中最著名的有淘宝、当当网等。电子商务网站基于业务流程及客户服务考虑,可由以下五个基本模块组成:会员管理模块、商品管理模块、订单处理模块、新闻发布模块、客户服务模块。

根据上面提到的五个基本模块,网站可以设置如下栏目:会员登陆、会员注册、商品展示、购物车、结算中心、客服中心、留言簿(或交流区)等。

二、构建电子商务网站的技术方案

(一)使用ASP.NET工具

1.ASP.NET简介

ASP.NET 是微软公司推出的一种Internet编程技术,它采用效率较高的、面向对象的方法来创建动态Web应用程序。在原来的ASP技术中,服务器端代码和客户端HTML混合在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解。ASP.NET是一种独立于浏览器的编程模型,可以在最新版本的IE、NetscapeNavigator以及诸如Opera等被广泛使用的浏览器上运行。

ASP.NET是一种建立在通用语言上的程序构架。一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多。微软公司发布了4种与 .NET 兼容的语言(包括 Visual Basic .NET、C#.NET、Visual C++.NET和 JScript .NET.)创作应用程序。

2.常用到的ASP.NET内置对象

Application对象:对整个ASP.NET执行环境而言,一个虚拟目录下的所有ASP.NET程序构成了一个Web应用程序。在多任务执行的情况下,来自四面八方的众多用户可能执行同一个Web应用程序,这变依赖Application对象。常用到的场合:聊天室、网页计数器等。

Request对象:获取从客户浏览器传给服务器端的数据,如接收来自表单的数据。

Response对象:Request对象与Response对象就像一般程序语言里的Input及Output命令,若要让服务器端的ASP.NET程序能够接收来自客户端的信息,须用Request对象;若想将服务器端的信息传递给客户端,须用Response对象。

Session对象:Session对象和Application对象极为类似,但Session对象的信息只适用于同一位用户,换句话说,一个Session对象只属于一位用户。常用到的场合:虚拟购物车、用户登陆网站时用户名的临时存储等。

(二)使用MS SQL Server 2000数据库

大多企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等等。有些数据库服务器还掌握着敏感的金融数据。包括交易记录、商业事务和账号数据等,应该保护起来防止竞争者和其他非法者获取的资料。因此,防止数据被恶意或非恶意的破坏或一些保密性文件被他人非法窃取及非本企业人员非法使用成为至关重要的问题,使用微软的SQL Server能有效的保障数据的安全性。

(三)对数据库的操作

电子商务网站设计时不可避免对数据库的考虑,因为几乎每一种商用应用程序都依赖于某种数据存储。数据库可以为网站提供不同层次的必要的数据和信息,包括前台网页的访问和后台数据的管理。

创建ASP.NET应用程序时,同样需要连接到数据库以读取或操纵数据。使用ADO.NET可以通过多种方式轻松地访问数据库并操纵数据。ADO.NET为ASP页面提供了一组功能强大的数据处理工具,无论使用何种数据库,首先要与之相连。使用ADO.NET可以以两种方式连接到数据库,本例是连接到数据库Microsoft SQL Server,则使用SQLConnection对象。如果要连接的是其他类型的数据库,如Oracle、Access等,则需要使用OleDbConnection对象。这里只探讨前一种连接的方法。

要使用数据库,还必须配合结构化查询语言(SQL)。SQL是一种标准化查询语言,用于读取和操作存储在数据库中的数据。常通过它对数据库执行四种操作:从表中选择记录(Select)、向表中插入(Insert)、更新(Update)以及删除记录(Delete)。

以下是访问数据库时的一些实例,假设使用的数据库是MS SQL Server中自带的Northwind数据库。

1.数据库的连接

%@ Import Namespace=“System.Data”%

%@ Import NameSpace=“System.Data.SqlClient”%

script laguage=“VB” runat=“server”

sub page_load(source as Object,e as EventArgs)

Dim myConnection As SqlConnection

Dim myCommand As SqlCommand

Dim mySQL as string

myConnection = New SqlConnection( “server=localhost;database=Northwind;uid=sa;pwd= ”)

mySQL=“select * from Customers”

myCommand=New SQLCommand(mySQL,MyConnection)

Connection.Open( )

Dim DS As SQLDataReader=MyCommand.ExectuteReader( )

Connection.Close( )

End sub

/script

2.数据的查询

将上述例中mySQL等式右边的查询语句换成相应的语句就行了。

3.数据的添加

假设数据库的为MSSQL中自带的Northwind。

把上述例中mySQL=“select * from Customers”那行开始的语句换成下面的语句就行了。

mySQL=”Insert into Customers (CustomerID,Company?鄄Name,ContactName,Country)” “ values (‘ACCON’,’Worl?鄄droad’,’Ruby’,’China’)myCommand = New SqlCommand( mySQL, myConnection )

myCommand.ExecuteNonQuery( )

End sub

/script

将上述中mySQL等式右边的查询语句换成相应的SQL语句就可以实现数据的更新和删除了。

三、网站性能优化技巧

(一)页面性能优化———会话(Session)状态的恰当选择

HTTP协议是一种无状态的通信协议,无法记录和识别来自不同客户端的请求,但在实际应用中系统却要维护来自客户端的不同请求之间的会话状态信息。ASP.NET通过将会话状态信息存储在进程、状态服务器或SQL Server数据库中来解决这个问题。

将会话状态信息保存在WEB服务器的内存中具有最佳的性能,速度很快,但是却缺乏会话状态信息跨越多个服务器的能力。若要在多个WEB服务器之间维护会话信息,可以使用状态服务器进行存储,这种方式由于可以将应用程序部署到多台服务器上而提高了系统的伸缩性和可靠性,但是以降低性能为代价。对于极其重要的会话信息,需要使用SQL Server存储方式,从而避免丢失重要的会话信息,但由此产生的工作负载比前两者大得多。

若不考虑状态信息的保留和多个服务器共享,应尽量选择保存在服务器的进程中,从而得到最佳的性能。

会话状态信息的存储方式通过web.config文件选择,相关代码如下:

sessionState

Mode=”InProc/StateServer/SqlServer” //存储方式由此行选择

StateConnectionString=”tcpip=127.0.0.1:42424”

……

timeout=”20”/

(二)数据库访问性能优化———连接池

用TCP来连接应用程序与数据库是一件很费时的事情。访问数据库资源需要创建连接、打开连接和关闭连接几个操作,这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。微软的开发者可以通过用连接池(Con?鄄nection Pool)来反复的使用数据库的连接。比起每次请求都用TCP来连一次数据库,连接池只有在不存在有效的连接时才新建一个TCP连接。原理如下:当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符串来决定。每一个连接池都与一个不同的连接字符串相关。当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。

当关闭一个连接的时候,它会被放到池中,它仍然会保持与数据库的连接,这样就可以减少与数据库的TCP连接次数。当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。

1.允许连接池

对于.NET应用程序而言,默认为允许连接池。当然,你可以在SQLConnection对象的连接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。

2.禁止连接池

ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:

使用SQLConnection对象时,在连接字符串中加入:Pool?鄄ing=False。

优化网站性能的还有很多,比如对数据进行分页、使用ASP.NET缓存API等。作一次小的性能优化,也许每次请求只能提高一微秒,但是如果每天的请求量很大的话,那么应用程序就有很显著的性能提升。要构建一个性能良好的应用程序,需要程序员花时间去研究和改进。而非一朝一夕之功。

四、结语

要构建完整的一个电子商务网站涉及到的技术很多,比如网上支付的安全技术。在设计过程还需要考虑企业或公司的业务需要和内部信息化程度等等。总之电子商务网站的构建,只有通过自己的实践,才能找到最有帮助的技巧。

用ASP制作网页的实训报告总结

1. 实习内容及知识应用

1.1实训内容以及进程安排

实训内容:动态网站制作的学习及动态网站的制作

这次在3名指导老师的带领下,我们主要学习了用2种现在比较流行的动态网站开发平台来开发网站:JSP平台与ASP.NET平台;JSP平台方面主要通过XX老师示范制作myblog个人博客网站而学习JSP平台的搭建、数据库的连接、网站测试等内容;而ASP.NET平台主要通过XX老师和XX2位老师的指导,学习并搭建了ASP.NET平台,掌握了网页三剑客制作动态网站的基本常识与方法,以及数据库的连接、网站测试及Photoshop处理图片等内容

进程安排

日期

日程安排

08年7月28日 确定小组组员,小组成员为:XX(组长),XX(组员)

08年7月29日 确定小组动态网页开发平台为ASP.NET

08年7月30日 确定网站要实现的功能①

08年7月31日-8月5日 制作BBS网站

08年8月6日 测试BBS网站

08年8月7日-08年8月15日 制作电子商务网站

08年8月16日-8月17日 测试电子商务网站

08年8月18日-8月20日 提交网站给指导老师,听取指导老师意见,完善网站

08年8月21日-8月22日 网站制作与小学期总结,写小学期文档

08年8月23日 提交小学期文档,小学期实训结束

说明:①经过讨论,我们组决定建设2个网站来实现以下功能

网站1-BBS网站:在这个网站中,我们主要实现了站点日历与站点搜索引擎2大功能。

网站2-电子商务网站:在这个网站中,我们主要实现了用户注册与登陆、购物车的实现、订单的显示等页面。

1.2知识(点)应用以及经验总结

这次制作2个网站主要应用的知识有以下:

⒈ 数据库的创建

① Access数据库的创建

Acess提供2种数据库创建方式:一种是创建一个空数据库,然后编辑数据表的内容;另一种使用数据库自带的模板创建;在动态网页面中,一般应用第一种方式

② Access数据库的打开方式

包括打开、只读方式打开、独占方式打开、只读独占方式打开

③ 利用设计器设计Access数据库

利用Access数据库里的设计器设计Access数据库

④ 使用向导设计Access数据库

通过Access的向导,经过一系列对话来设置Access数据库

⑤ 通过输入数据连接Access数据库。

先输入数据再确定字段

⒉ 数据库的连接

① ODBC连接数据库

打开ODBC数据源管理器面板。 在windows XP中打开控制面板,再打开管理工具,找到数据源(ODBC),双击图标打开管理器,选择系统DSN。添加数据源,点击添加按钮,开始创建数据源,在接下来的对话框中选择数据源的驱动程序,因我们使用的是Microsoft Access创建的数据库,所以选择Microsoft Access Driver(*.mdb)作为数据库驱动程序。点击完成按钮,填写数据源名,以简单易记为原则,这里我们以userinfo(表名)来命名,注意不要冲突。说明填不填都无所谓,是描述这个数据库的用途而已。点击选择按钮,选择你的数据库文件。找到自己想添加的数据库,选中即可。

② OLEDB连接数据库

在Dreamweaver 中,可以通过在连接字符串中包含 Provider 参数来创建 OLE DB 连接。打开Dreameaver,在站点里面先新建个ASP页面(index.asp)。 在“应用程序”面板中选中“数据库”标签。只要我们在前面建立了站点,选择了文档类型(即我们选的ASP Javascript的),并且还测试了服务器();则当前我们看到就剩下第四步没有打勾了。 那现在就点击“+”号,选择“自定义连接字符串”。在弹出来的“自定义连接字符串”对话框中,"连接名称"随便写一个。“连接字符串”就要好好填写了。当"使用此计算机上的驱动程序"时应用绝对路径:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d: ewgndatabasecnbruce.mdb 否则“使用测试服务器上的驱动程序”采用Mappath转换路径"Driver={Microsoft Access Driver (*.mdb)};DBQ=" server.mappath("/newgn/database/cnbruce.mdb"),点击“测试”,出现成功对话框,成功连接数据库后,在DW里其实是自动生成了一个连接文件。位置在自动生成的Connections文件夹中,名称是你刚才在“自定义连接字符串”随便敲的为命名asp文件。还可以注意到DW数据库标签内看到mdb文件内的各个字段。

⒊ 动态网页开发技术

① 记录集的定义

分为简单记录集定义与高级记录集定义,简单记录集的定义使用户不必用SQL语句查询而快速定义记录集。高级记录集定义则通过SQL语来定义记录集。

② 记录集的绑定

记录集(查询)的绑定。在网页中插入一个表单,并输入需要插入到数据库的相关内容,然后通过记录集(查询)功能来实现表单和数据库的相互协调使用,并实现“动态”功能

③ 重复区域服务器行为

服务器行为其实一段VB代码,为了方便用户对记录集的操作,DW中将常用代码进行封装,命名为服务器行为。而重复区域服务器行为相当于一个FOR循环函数

④ 设置记录集导航条

添加记录集导航条以分页的方式用来显示重复区域服务器行为显示有限的记录

⒋XML动态网页制作

① XSLT

XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言,XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。

⒌服务器的配置

① 站点存放点的创建

打开电脑,在D盘下建立一文件夹newgn(这个夹子就是你的站点存放点了),并且在里面建几个子文件夹(就好似你网站的子目录)。

② 建立虚拟目录

回到newgn的根目录,右键选择“共享和安全”(其实是快速地建立虚拟目录)

③ 设置IIS的虚拟目录

出现属性对话框后,选择“Web共享”标签,点选“共享文件夹”,出现共享别名对话框,选择默然设置,确定即可

⒍利用Dreamweaver创建站点

选择“编辑站点”,在弹出的属性框中选“高级”标签,从“分类”中先选“本地信息”,右窗口中设置站点名称,本地根文件夹,然后设置远程信息,访问选择“本地/网络”,远端文件夹仍选择站点文件夹d: ewgn,再接着“测试服务器”,“服务器模型”暂为ASP vbscript,“访问”本地/网络,“测试服务器文件夹”仍是站点文件夹d: ewgn,“URL前缀”在后面添加“newgn/”,添加的东西就是设置的虚拟目录,这时,站点定义基本结束,点击确定。出现“编辑站点”对话框,“完成”即可。

⒎利用FIREWORKS处理图片

利用FIREWORKS处理一些图片和制作一些GIF动画图片

经验总结:

利用Dreamweaver做ASP动态网站主要为以下几步:

①网站服务器配置

②数据库设置

③数据库显示

④建立注册系统

⑤建立登陆系统

⑥美化网站

2. 实习心得

{要求500字以上}

l 过程、功能需求、菜单设计、界面设计、数据库设计、知识的应用技巧、团队合作感受等(指导教师可按实习内容进行要求并自行增加内容)

本次小学期期实训,我们小组主要制作了2个动态网站,而制作这2个动态网站的主要过程是:

⒈个人博客网站

①站点的定义

②数据库的连接

③制作站点搜索引擎及搜索结果页面

④制作日志列表

⑤制作BLOG首页面,基本页面设计

⑥定义并绑定记录集

⑦界面的美化

⑧设置重复区域

⑨指定日期的日志内容页面

⑩日志具体内容页面-日志内容和回复及日志回复功能

⒉电子商务网站

①站点的建立和连接字符串

②用户登陆及用户登陆信息显示页面

③错误信息页面设计

④创建模板

⑤添加登陆页面的嵌入框架

⑥用户注册页面的实现

⑦添加“密码”比较验证的代码

⑧制作最新产品导航条与滚动产品导航条

⑨产品展示的实现

⑩用户购物车:限制用户登陆、添加购物车程序、购物车链接、删除购物车

而这2个网站实现的功能大不相同,前者为一个博客网站,主要实现了站点搜索引擎、日志列表、站点日期等内容;后者为一个电子商务网站,主要实现了用户登陆、用户注册、密码验证、产品展示以及用户在线购物等内容;刚确定制作网站的时候,本设想将2个网站整合在一起,但由于技术和其他原因,这个目的没能实现。

制作动态网站,数据库最重要,在我们小组这次制作网站的过程中,花时间最多的地方就是数据库-数据库的建立、数据库与网站的连接、记录集的绑定、数据库安全等等,由于时间的关系,我们小组这次采用的是Acess数据库,它与其他数据库相比较相对来说操作比较简单。在数据库的制作中,这次我们小组遇到的难题主要是采用OLEDB连接数据库的方法,这个难题的关键之处是在于如何利用 Provider 参数来创建 OLEDB 连接,我们在网上搜索了大量资料并在XX老师的帮助下终于学会了如何使用OLEDB连接数据库。

总结这次小学期实训,这次2个网站能这么顺利的完成,离不开老师的帮助和小组成员的努力,虽然这次小学期实训我们小组只有2人,但是我们是一个有效率、有组织、有团队精神的小组,有效率在于小组制作网站中分工明确、讨论有目的;有组织在于小组成员能按时、有质量的完成自己的分工任务,值得一提的是这次小学期网站开发的大部分时间在小学期实训教室而我们小组成员还从未擅自旷课、上课迟到、早退等违纪行为;有团队精神在于我们小组实训过程中的共进退,从不因为自己分工任务提前完成而拉下其他组员,我们意识到小组是一个有组织、有记录、有共同目的的集体而不是一个由分散的个人组成的团体,在这次小学期实训中之所以提出小组分工这是锻炼小组组员的个人能力培养,而帮助有困难的组员这充分培养了组员之间的默契和团队协作能力。

这次是毕业前最后的一次小学期实训,也是自己做投入、最用心的一次实训,与以前的小学期相比,以前的小学期都是以掌握某种实训技能为主,而这次小学期则不仅掌握了动态网站的制作技术而且还制作出了自己的成果,自己非常高兴。经过这次小学期,我领悟到任何东西都要“学以至用”,学习了还不行还要看自己掌握了没,掌握了还不行还要看自己熟练了没,熟练了还不行还要做出一定成果。即将毕业,能接受这么一次有意义的小学期实训感觉很充实。

网址:

《网页设计》实验报告

1、

设计由多个网页组成的小型网站,自选主题,要求积极、健康,不得从网络上下载;

2、

构建本地站点,创建站点目录;

3、

站点目录中各种文件分类存放,文件命名

科学

,网站不少于10个页面;

4、

整个网站内容大小不超过20M;

5、

网页版面采用表格布局;

6、

网页中引入CSS

样式表

技术。

7、

超级链接的都可正确点通;

8、

网页中需添加如

动画

音频

、视频等多媒体元素;

9、

栏目设计合理,页面

文字

充实,图文并茂。

10、

使用动态页面效果,如

时间轴动画

、弹出信息、弹出菜单等;

11、

可根据个人能力和兴趣使用数据库,ASP,JSP,PHP等网页技术。

实验报告

应包涵以下几个部分:

1、实验说明:说明网战在设计所应用的技术,站点下各目录、各文件;素材的收集途径等;

2、实验步骤:详细阐述网页设计整体

流程

和其中各个环节的操作步骤;

3、实验心得。

求一篇asp动态网页设计学习总结,速度!

学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解;二是学会总结,把学习、运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识。以下是笔者在学习与运用ASP编程中的两点经验,希望能对大家有所帮助。

ASP页面内VBScript和JScript的交互

ASP具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP开发环境提供了两种脚本引擎,即VBScript(缺省)和JScript。不过,开发者并没有被限制于只能使用这两种语言,只要能够提供合适的ActiveX脚本引擎就能使用任何脚本语言。

脚本语言的选择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说能够提供最多特色支持的,也有可能是最具效率的。不同的环境和要求使得我们在选择脚本语言时注重不同的因素,同时也使得我们在某些时候面临选定的脚本语言不能直接提供其它语言固有的函数这一问题,或某个脚本已经写成但用的却是另外一种脚本语言。

此时应该怎么办?是否需要用当前所用的脚本语言重写这些脚本?或者说,是否有可能在一种脚本语言中调用其它脚本语言的内置函数?本文要说明的就是在ASP应用中如何让VBScript脚本和JScript脚本交互以最大限度地获得两种脚本语言的特色支持。

一、VBScript和JScript的内置函数

在VBScript和JScript中,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言中内置的函数并非总是在另外一种脚本语言中也有对应的函数。例如,VBScript提供了许多用于操作字符串和格式化数据的函数,这些函数在JScript中并不存在。这些函数包括StrReverse()、Filter()以及FormatCurrency()等。在另一方面,JScript所提供的用于管理数组、字符串编码等的函数在VBScript中也没有定义,如join()、reverse()、pow()、位操作、escape()和unescape()等。

那么,如果在JScript程序中需要一个VBscript函数该怎么办呢?

二、异种脚本的互相调用

如果需要在JScript脚本中调用一个VBScript中内置的函数,则应该写一个VBScript用户定义函数(在这里调用VBScript内置函数),然后在JScript脚本中象调用公用JScript函数一样调用这个用户定义函数。

例如,如果要调用的VBSCript内置函数是FormatCurrency(),则可以声明如下自定义函数:

  SCRIPT LANGUAGE="VBSCRIPT" RUNAT="SERVER"

 Function FormatValue(Value)

  FormatValue = FormatCurrency(Value)

 End Function

  /SCRIPT

接下来在JScript代码中就可以象普通JScript函数一样调用FormatValue()了。用类似的方法也可以实现VBScript代码调用JScript函数。

应用同样的规则,我们可以在任何脚本内调用任何用户定义函数。不过,从JScript脚本内调用一个不带参数的VBScript过程(Sub)时应略加注意,此时在JScript中应该象调用一个不带参数的JScript函数一样调用它,如用foo()调用VBScript Sub foo过程。

三、数据共享

在某些情形下混合运用VBScript和JScript函数是非常有用的,但在不同语言脚本之间共享数据也可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以任意引用。

对象的使用方法也相似,可以任意选用合适的语言读取、修改属性或调用对象的方法。当然给定对象的属性和方法是由创建该对象实例的语言所定义的。正如上例VBScript的过程调用,当从JScript中调用一个不带参数的VBScript对象的方法时,其调用方法也遵从JScript的调用规则,反之亦然。

四、数组管理

数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注意兼容方面的问题。

VBScript数组在JScript下可以用VBScript的符号引用,即用myArray(2)引用数组元素而不是JScript的数组元素引用符号myArray[2]。此外,还可以使用一个特殊的JScript对象——VBArray对象将VBScript数组转换为JScript数组。下面的代码从VBScript数组myVBArray创建JScript数组myJSArray:

 var Temp = new VBArray(myVBArray)

 var myJSArray

 myJSArray = Temp.toArray()

上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为JScript数组。此后就可以象普通JScript数组一样使用myJSArray,如myJSArray[1]。但应当注意的是,toArray()方法将把一个多维的VBArray转换为一维的JScript数组。

从VBScript中引用JScript数组更为复杂。虽然在VBScript中我们可以直接访问JScript数组相关的方法和属性,但没有直接访问JScript数组的单个元素的方法。也就是说,我们可以在VBScript脚本中读取JScript数组的长度属性,如下所示:

x = myJSArray.length

但无法直接读取该数组的单个元素,下面的VBScript代码是不正确的:

x = myJSArray(3)

解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定VBScript是缺省的脚本语言:

%

Dim Temp

Dim myVBArray

Temp = myJSArray.join(", ")

myVBArray = Split(Temp, ", ")

%

此处的JScript join()方法将数组myJSArray元素转换到一个以逗号为分割符的字符串,VBScript Split()函数将字符串转换为VBScript数组。注意这里我们是在VBScript环境下调用JScript的join方法。依照此例,我们可以通过自定义VBScript函数来模拟JScript的VBArray对象的toArray()方法以实现JScript数组到VBScript数组的转换。

用模板建立动态ASP页

对于模板,我想大家可能都有一些概念,在word中很多模板,设计好了大概的版面,你只要用你自己的话填充那些占位字符就好了。这儿的模板大概也就是这个意思,页面中相对稳定的部分固定下来,其他的部分根不同的情况在输入不同的内容。其实在DreamWeaver中也有模板的功能,不过那个静态的,只能手动填充内容,而这儿讲的是动态的自动的内容填充。

首先,我先来解释一下为什么要用到模板文件。有时候,模板能够带给你对网页功能和布局更为完整的概念。当你看到Word的模板格式之后,就知道最后版面是个什么样子的了,在这儿也是如此。例如,你可以保留ASP语句,而使用不同的模板来建立不同的页面风格。

这样,你就不用为每种不同风格的网页分别来写不同的ASP页面了,这显然可以为我们节省很多时间和精力。而且,模板文件能够让你更容易的浏览页面代码,不用担心ASP和HTML的混杂搞的你头昏脑胀。你可以只用把注意力集中在HTML上,而完全不用去管ASP了。再有就是,摸板很简单,你绝对很快就能搞懂搞定。在这篇文章中,将会用到一个数据库——一个用的很广泛的雇员表。包括雇员ID,姓名,照片,以及工作摘要和照片的注脚。下面是这个Access数据库的结构:

文件名 - myDatabase.mdb

表名 - Employees

ID

自动计数(Autonumber)

FullName

文本 - 最多100个字符

PicURL

文本 - 最多255个字符

Duties

注释类型

PicCaption

文本 - 最多50个字符

一个很简单的数据库,是吧。当然你可以按要求来扩展它,那就是你自己的事了。我假设你已了解数据库的基本操作,这样我不用在这上面花太多的笔墨,其实这儿的代码都是很简单的,只要你知道一些基本的东西,就能把它看懂。建立了数据库之后,我们可以开始建立模板文件了。这个文件是每个页面的骨架。我没有用到表格,那样有些麻烦,而我很懒,而且,也不用加入,标签,因为那是要加在ASP页面中的。所以到最后,它的样子就是这样了:

Full Name:

%name% brDescription of duties:

%duties%

This picture was taken: %date%

Employee ID: %empID%

就是这样了!这就是一个简单的模板。把它存为template.tmp,在后面的ASP页面中将要引用到它。要注意的是:我们可以在模板中加入各种HTML标签,你完全可以在摸版中定义好网页的结构和样式,就像实际写一个网页一样,只是要把关键的地方标出来——注意到了那些%围着的东西了吗?那就是模板的精髓了。或许你已经注意到,那些%围着的是和数据库中的字段意义对应的。看看下面的ASP代码,是如何读入模板和数据库文件,把他们揉和在一起,然后输出我们想要的HTML页面。

这就是所有的代码了,很简单,不是吗?它所作的只是打开模板文件,按顺序读入每一行,然后用冲数据库中读入的实际的字段值来代替模版中那些%img%,%name%标记。而且,它还把在“Duties”字段内大段文本中的回车解释成HTML的回车 ,这样就不至于打乱整个的排版格式了。怎么样?轻松搞定吧。模板在某些应用上真的是可以发挥奇效,省时省力。理论上,你还可以修改这段代码,用FileSystemObject来读写文本,这样数据就不一定要存储在数据库中了。在一些应用中,比如即时的新闻发布,这样也许更为方便一些。

(责任编辑:IT教学网)

更多