实例学习Dreamweaver MX ASP编程基础1

dreamweaver|编程

  预读提示:要读懂本文,请确保你已经学会使用DW MX ASPVBScript模式的“服务器行为”,但你不须懂得asp语法。

  本文如有阐述错误或技术性错误的话,请各位高手在论坛发贴予以更正。

  自从本人在UDSKY论坛发布有关于用DW MX设计论坛的消息后,网友反响热切,大多数网友是支持的。而且据我了解,许多朋友只熟悉用DW MX来设计静态页,后台程序方面也不太熟。所以笔者先尝试撰写此文供“菜鸟”们事前好好地“补习”一翻。笔者相信,“菜鸟”们个个都不是傻瓜,如果肯努力,别人能做到的,你也能行!

  因局限于DW MX的服务器行为模板功能,完全用它来设计结构复杂的论坛较困难(当然,如果你只是做个比留言本功能更强些的“实用型论坛”是没问题的)。下面和大家切磋一下ASP的基本语法,考虑到我们的““菜鸟””一般对ASP不太熟,本文也不是ASP基础完全教程,但是针对忠于DW MX而初学ASP的用户而写,只简单介绍几个基本对象,方法、属性及简单应用实例,这些在DW MX的ASP服务器程序设计中使用极频繁的;也即是说,先前你并不须要对ASP有丝毫的了解,只要花点时间,练练文中介绍的小例子,记住这几个对象使用方法,然后配合DW MX强大的服务器行为,设计出属于你自己的服务器应用程序。

  如果你是ASP高手,此文对你没什么可读之处,如有错误,请赐教!我们的“菜鸟”级朋友们却不然,虽然网上、书籍有关于此的教程文章多得满天飞,但很少有针对DW MX而作的,而且太多的“语法简介”,令人心烦气燥。好了,闲话少说,转入正题。

  本文涉及到的几个基本对象:

  • Request对象
  • Response对象
  • session对象

  明眼人一看就知这是ASP内建对象的其中三个,使用极频繁,如果你要学好ASP,这几个对象必须熟练掌握。下面一一介绍这几个对象的使用方法、属性等,每讲完一个知识点便即时剖析DW MX生成代码功用,并尝试动手编写实现DW MX的一些功能的代码,不过代码要比DW MX自动生成的简单得多,只要以实例为主,使大家有个感性认识,易于理解和消化。

一、Request对象——接收客户端数据

  “request”的中文译义为“请求”。Request对象是ASP的“眼睛”和“耳朵”,客户端的明暗动静,由它来负责监督,诸如表单提交,URL参数传递等,均被它一一辑拿于手。多说无益,先试试身手再说。打开DW MX,执行“文件”——“新建”命令,弹出“新建文档”对话框,在“常规”选项卡的“类别”中选中“动态页”,动态页项选中“ASP VBScript”,因为我们只要是使用VBScript作为AS的脚本语言,点击“创建”。

  Request对象的语法格式:

  request[集合|属性|方法|(变量)]

  使用request对象可以访问任何基于HTTP请求传递的信息,包括从客户端HTML表单用POSP或GET方法传递的参数、Cookie和用户户认证。

●实例一,使用request对象的form方法

  分别插入表单、文本域和扭按,文本域名称为“oo”,表单方法为“POST”,其它两个东东不用理。

  在<body></body>标签中写入以下代码:

<%=request.form("oo")%>

  完整的代码如下:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<%=request.Form("oo")%>
<form name="form1" method="post" action="">
<input name="oo" type="text" id="oo">
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>

  其中,文本域名称一定要与request.Form("oo")中的Form("变量")集合中的变量名匹配,才能接收客户端表单提交过来的数据,如本例的“oo”。试按“F12”键预览,在文本域中随便输入一些内容,按“提交”按扭,是不是把刚才输入的内容显示出来了?

  在本例中,我们用到了Request.form方法,它是用来接收表单变量的,还有“<%”、“%>”、“=”这几个符号,“<%”和“%>”是ASP的定界符,凡包含有ASP语句的代码均要用该定界符以区别开其它的HTML代码,并且服务器能对它进行解释。“=”具有输出功能,没有它将不能向客户端输出数据,你可以把这个符号去掉试试与刚才的反应有什么不同(什么也没有显示)。

  除了request.form方法外,还有request.QueryString方法,与request.form不同的是,它是接收URL参数的,诸如大家浏览网页时看到这样的格式地址:

  http://localhost/asp/uio.asp?oo=request对象的使用

  这个地址格式中,用“?”在分开地址信息URL参数,“?”前的“http://localhost/asp/uio.asp”为地址信息,“?”后的“oo=request对象的使用”为URL参数,其中“oo”是承载数据的变量,这个变量名你可以随便叫,应该以英文字母为主,可以包括下划线“_”,但不要以下划线开头。下面,就以request对象的QueryString方法,点击页面中超链接打开另一个页面的同时把附带的数据传递到该页。

●实例二,使用request对象的QueryString方法

  目标页:文件名为bbb.asp

  ASP语句:

  <%=request.QueryString("uu")%>

  完整代码:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<p><%=request.QueryString("uu")%></p>
<form name="form1" method="post" action="">
<input name="oo" type="text" id="oo">
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>

  传递页:文件名为aa.htm


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<a href="bbb.asp?uu=把我传递到bbb.asp页去!">点击这儿,把数据传递到bbb.asp页
</a>
</body>
</html>

  超链接格式为<a href="Untitled-3.asp?uu=把我传递到bbb.asp页去!">链接文本</a>

  先执行aa.htm页,点击超链接,是不是把“把我传递到bbb.asp页去!”传递到目标页中去了?

  ●request.form与request.QueryString的比较

  两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。  request.form方法不存在上述问题,因此大量被应用在多个文本域提交数据和用户登陆的场合。

  request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。

  ●DW MX中的代码剖析

  以下所示,是插入Command1命令服务器行为时接收URL参数的语句

<%

if(Request.QueryString("ID") <> "") then Command1__MMid = Request.QueryString("ID")

%>

  这句代码的作用是,当由Request对象的QueryString方法接收的URL参数“ID”不为空时,则把“ID”承载的数据信息赋值给变量“Command1__MMid”(说白了,也就是Command1__MMid=ID),以便下一个须要调用“Command1__MMid”变量的程序使用。这里有一个if.....then的判断语句,稍后会讲到的。

  注:相关的比较运算符注释:

  <>   不相等,当左右两边的表达式的值不相等时,结果为真。例如,1<>2,结果为真。

  =     相等,当左右两边的表达式的值相等时,结果为真。例如,to=to,结果为真。

  >    大于,当左边表达式的值大于右边表达式的值时,结果为真例如,5>3 ,结果为真。

  <    小于,当左边表达式的值小于右边表达式的值时,结果为真。例如,3<5 ,结果为假。

  >=  当左边表达式的值大于或等于右边表达式的值时,结果为真。

  <=  当左边表达式的值小于或等于右边表达式的值时,结果为真。

●实例三,使用request对象结合条件判断语句

  在学习这个实例前,先要试试VBScript脚本的几个超简单的东西,因为ASP的主体部分是靠VBScript脚本来控制的啊,如循环(DW MX中称为“重复区域”)、利用条件判断执行命令等。这里不会介绍太多的VBScript语法,请放心,呵呵!

  1、常用的 if...then...else...end if 选择语句

  如果你懂英文(我用金山快译翻译才知道的呀,唉!谁叫俺是英文肓呢)的话,也可以大概看得出这个语句的意思了,就是“如果.....然后...别的...结束”,没错,它的作用被它自己说明了,也即是:


if (如果什么什么时)....then(然后)

执行asp语句命令.....

elseif(上一个条件不满足,重新判断当什么什么时)....then(然后)

执行asp语句命令.....

...................

else(否则,最后的)

执行asp语句命令....

end if (结束)

  这么直截了当的说明,你应该明白了一点点吧?什么???还不明白?我们都用实例来增强理解它。

  实例三(1)、新建asp文件,文件名为:ccc.asp(随便吧)

  插入表单、列表/菜单和按扭,表单方法为“POST”,按扭类型为“提交表单”,“列表/菜单”名称为“bb”

  其它的不用理了。

  在<body></body>标签中间敲入以语句:

<% if request.form("bb")=1 then
response.write"你好!你是普通网友!"
elseif request.form("bb")=2 then
response.write"你好!你是高级站友!"
elseif request.form("bb")=3 then
response.write"你好!你是管理员!"
else
response.write"很抱歉!我不知道你是谁!"
end if
%>

  完整代码为:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<% if request.form("bb")=1 then
response.write"你好!你是普通网友!"
elseif request.form("bb")=2 then
response.write"你好!你是高级站友!"
elseif request.form("bb")=3 then
response.write"你好!你是管理员!"
else
response.write"很抱歉!我不知道你是谁!"
end if
%>
<form name="form1" method="post" action="">
<select name="bb" id="bb">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="0">0</option>
</select>
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>

  按“F12”键预览,选择“1”时,页面将输出:你好!你是普通网友!

    选择“2”时,页面将输出:你好!你是高级网友!

    选择“3”时,页面将输出:你好!你是管理员!

    选择“0”时,页面将输出:很抱歉!我不知道你是谁!

  这个例子使用到了elseif子句,以便在多个条件中进行选择,你可以任意添加多个elseif子句。

  本例用到一个“response.write”的对象向客户端输出数据,稍后将讲到它。

  也可以用if....then....else来按制HTML代码的输出(隐藏和显示)

<% if request.form("bb")=1 then%>
你好!你是普通网友!
<%elseif request.form("bb")=2 then%>
你好!你是高级站友!
<% elseif request.form("bb")=3 then%>
你好!你是管理员!
<%else%>
很抱歉!我不知道你是谁!
<% end if%>

  2.select case 结构选择语句

  前面介绍的if....then....else结构虽然好用,但是添加太多的elseif子句时,会使代码变得繁琐起来。

  select case是if...then...else结构的一种变通形式,可使代码变得简练易读。下面例子:

  实例三(2):  把实例三(1)的代码:

<% if request.form("bb")=1 then
response.write"你好!你是普通网友!"
elseif request.form("bb")=2 then
response.write"你好!你是高级站友!"
elseif request.form("bb")=3 then
response.write"你好!你是管理员!"
else
response.write"很抱歉!我不知道你是谁!"
end if
%>

  修改成:

<% select case request.form("bb")
case "1"
response.write"你好!你是普通网友!"
case "2"
response.write"你好!你是高级站友!"
case "3"
response.write"你好!你是管理员!"
case else
response.write"很抱歉!我不知道你是谁!"
end select
%>

  执行结果与实例三(1)完全一样。

  可见,select case结构简结易读得多,select case结构只在其开始处使用一个仅计算一次简单测试表达式,并将表达式的结果与每个case的值比较,如果匹配,则执行相关联的语句块。select case结构格式如下:

select case <变量>

case <值1>

ASP程序语句1

case<值2>

ASP程序语句2

....

case else

ASP程序语句n

end select

  当然也可以用select case语句来按制HTML代码的输出(隐藏和显示)

<% select case request.form("bb")%>
<% case "1"%>
你好!你是普通网友!
<% case "2"%>
你好!你是高级站友!
<%case "3"%>
你好!你是管理员!
<%case else%>
很抱歉!我不知道你是谁!
<%end select%>

下一页

时间: 2024-09-29 14:59:33

实例学习Dreamweaver MX ASP编程基础1的相关文章

实例学习Dreamweaver MX ASP编程基础2

dreamweaver|编程 实例四.结合DW MX服务器行为在服务器端检验表单的合法性 虽然大家可以使用DW MX的"行为"的检查表单生成JS代码来检查用户提交的表单数据是否合法,但这是在客户端执行的,我们的用户千奇百样,如果使用较低版本的浏览器可能会使客户端检验失败,把不合法的信息插入到数据库中.这是不允许的.下面我们利用上面学习的request对象和判断语句添加到DW MX"服务器行为"代码中,实现服务器端检验表单,以杜绝不合法的表单信息. 新建一个ASP页,

三天学会php(有asp编程基础)

 本文作者:longlongago     博客地址:http://blog.111cn.net/longlongago2000         寒假期间没事用asp做了一个写博的程序,后来想用php实现,于是就上网找到了php+mysql安装了,我找到的是安装自动配置的(phpStudyAdmin),很方便,安装好就可以用的,不用进行复杂的配置(听说配置很复杂,自己没试过).        开始学php,我知道要用实例来学php上手速度最快,想到我以前学asp是先做个简单的登录验证,做起来思想

ASP编程基础:重新安装IIS的方法

iis|编程 如何重新安装IIS,有的时候IIS出现严重错误,比如metabase坏掉,又没有备份-. 一般的做法,直接在控制面板添加删除程序中卸载IIS重装. 这样并不是保险的做法,很多人在重装IIS后问题依旧. 所以建议在任何情况下都用以下步骤重新安装IIS: 1.把IIS卸载. 2.把 %windir%\system32\inetsrv 删除. 3.把%windir%\iisX.log删除,X 是IIS版本. 4.把 \inetpub\ 目录删除. (以上操作可以在安全模式中进行.) 5.

17个ASP编程基础典型代码

1.ASP取得表格输入数据的方法:GET POST 一.get:用户端将数据加到URL后,格式为"?字段1=输入数据1&字段2=输入数据2&...", 再将其送到服务器.如: action为www.abc.com, 字段Name输入数据为jack,字段age的数据为15,则用get方法为 http://www.abc.com?Name=jack&Age=15  二.post:用户端用http信息数据传送到服务器 ASP中: get:使用"输入数据= R

dreamweaver开发asp实例教程

DreamWeaver MX ASP编程基础 菜鸟学DreamWeaver做ASP:服务器配置篇 菜鸟学DreamWeaver做ASP:数据库设置篇 菜鸟学DreamWeaver做ASP:数据库显示篇 菜鸟学DreamWeaver做ASP:注册系统篇 菜鸟学DreamWeaver做ASP:登陆系统篇 菜鸟学DreamWeaver做ASP:查找密码系统 菜鸟学DreamWeaver做ASP:修改资料篇

Dreamweaver MX 2004做ASP程序

dreamweaver|程序 最近论坛和QQ里总有人问,"我要学习ASP但是不知道从哪里学起?有没有初级入门的教程?",其实本站中已经有好多关于ASP的教程了而且还有相关的书籍提供大家下载,可能是没看到的原因吧?从今天开始我编写个教程教你一步一步学习ASP,在这里我们使用可视话的编程工具Dreamweaver MX 2004来实现开发ASP程序,在以后我将陆续给大家介绍如何开发ASP.NET.PHP,JSP.本教程写得比较简单,上手应该比较容易,大家跟着一步一步做就行了.我的操作系统是Win X

Dreamweaver MX 2004做ASP程序(1)设置站点

dreamweaver|程序|站点 最近论坛和QQ里总有人问,"我要学习ASP但是不知道从哪里学起?有没有初级入门的教程?",其实本站中已经有好多关于ASP的教程了而且还有相关的书籍提供大家下载,可能是没看到的原因吧?从今天开始我编写个教程教你一步一步学习ASP,在这里我们使用可视话的编程工具Dreamweaver MX 2004来实现开发ASP程序,在以后我将陆续给大家介绍如何开发ASP.NET.PHP,JSP.本教程写得比较简单,上手应该比较容易,大家跟着一步一步做就行了.我的操作系统是Wi

Dreamweaver MX 2004做ASP程序(3)显示数据库的数据

dreamweaver|程序|数据|数据库|显示 1.打开Dreamweaver MX 2004,在站点里面先新建个ASP页面(index.asp),选择新建项目中的"ASP Javascript".打开应用程序面板,在"应用程序"面板中选中"数据库"标签.只要我们在前面建立了站点,选择了文档类型(即我们选的ASP Javascript的),并且还测试了服务器(http://localhost/myweb/).那现在就点击"+"

站长感慨asp编程究竟何去何从[原创]_ASP基础

令人抱憾的一个现象,今天一个同事说我的网络编程栏目下的asp编程,竟然没有带来任何ip,我的站的好多asp编程资料都是手工从各大比较好的asp编写的系统中提取出来的asp的精华代码,网上转载了我的全站信息的网站有很多,我的站的asp编程,asp下fso操作,asp小偷与采集,asp class类的都是精品文章,其中asp基础更是包括了6大对象等基础学习资料,希望能给学习asp编程类的朋友带来一定的便利,而且我要说的是,大家如果来学asp的基础编程,那么我可以负责任的告诉大家,大家如果还在到底学a