论坛: 网站建设 标题: 关于asp的response对象 复制本贴地址    
作者: zlht [zlht]    论坛用户   登录
我刚开始接触asp,也是最近才看了书的,有些问题,希望各位朋友给与帮助,谢谢!
关于Response对象的问题,一个例子 .如下:

      respond.asp

<script language="VBScript" runat="server">
dim user
dim flag
dim pwd
dim say
response.Buffer=true
user=request.Form("username")
pwd=request.Form("password")
say=request.QueryString("say")
</script>

<form method="post" action="asp7b.asp">
<p>用户名:<input type="text" name="username" size="12"><br>
  口令:<input type="password" name="password" size="12"><br>
  <input type="submit" value="提交" name="B1">
  <input type="reset" value="取消" name="B2">
  </p></form>
<script language="VBScript" runat="server">
if say=1 then
    response.write"欢迎光临"
end if
if say>1 then
    response.write"欢迎再次光临"
end if
if user="Jliu" and pwd="hello" then
  response.expires=1
  flag=1
elseif user="guest"and pwd="guest" then
  response.expires=0
  response.Clear()
  flag=2
elseif user="vip" and pwd="vip" then
  response.write"欢迎VIP光临我的ASP网站"
  flag=3
else
  flag=0
  response.End()
end if
response.write"<p><a href=asp7b.asp?flag="&flag&">动态网页设计 response对象</a></p>"
</script>

        asp7b.asp

<script language="VBScript" runat="server">
dim say1
say1=request.QueryString("flag")
select case say1
case"1"
    response.Redirect("respond.asp?say=1")
case"2"
    response.Redirect("respond.asp?say=2")
case"3"
    response.Redirect("respond.asp?say=3")
case"0"
    response.Redirect("respond.asp?say=0")
end select
</script>
我的机器配置是赛扬1.7G,WINXP ,IIS 5.1,IE6.0  在本地计算机上作的一个web服务器,未接入网络。 所有asp程序保存在http://127.0.0.1/asp/中

上面的ASP程序,在IE中运行,不能得出相应的输出结果(即:运行respond.asp后,直接进入asp7b.asp,而未返回respond.asp,输出结果。
)。


我的猜想:可能是在respond.asp中脚本程序未运行完,在点击“提交”后,就直接进入asp7b.asp了。

试验:为了证明猜想,就将response.write"<p><a href=asp7b.asp?flag="&flag&">动态网页设计 response对象</a></p>"这段代码放在response.Buffer=true下。结果,可以进行输出,在页面上显示“动态网页设计 response对象”,说明此部分程序执行了。后来又将以上内容放在respond.asp中form下面的另一段程序中,结果,未得到执行,我认为,此段程序未执行,也就出现了以上的问题。

猜想 : 可能是脚本程序有问题.
试验:就将respond.asp中的脚本程序,全部剪切复制成另一个respond1.asp。然后在response.asp和asp7b.asp中修改相应的参数。进入IE执行response.asp输入,发现程序可以执行。

然后再次看了书中的BUFFER属性,既然设置了buffer=true,应该在respond.asp中form以下的脚本程序执行完后,服务器才应该输出给用户web页,可是结果显示,在点击提交后,未执行以后的程序

还有一点,对于response对象中expirse和clear两个属性还不是十分理解,对于用法也不太清楚,特别是expirse属性,希望哪位朋友能给我一个简单的使登陆页面过期的小程序!帮助我理解属性。


地主 发表时间: 11/27 10:56

回复: lauka [lauka]   论坛用户   登录
我想有可能是runat="server"的问题,看看是不是把客户端和服务器端搞混的缘故,以至于找不到

B1层 发表时间: 12/05 11:44

回复: zlht [zlht]   论坛用户   登录
谢谢了!我马上就做!

B2层 发表时间: 12/11 10:06

论坛: 网站建设

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号