|
主题: 请教server.execute的问题
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#12004/2/28 8:06:54
在1.asp中,我使用了 dim errmsg
errmsg=""
server.execute("2.asp")
response.write errmsg 在2.asp中内容如下
errmsg="不能为空" 请问一下,这样有没有错,但是我运行总是不成功, 是不是使用了server.execute方法的2.asp在执行完后,在2中的errmsg变量就消失了,不能在1.asp中使用
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#22004/2/29 7:33:33
不要沉了,请高手指点
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
|
bosco
职务:普通成员
等级:1
金币:0.0
发贴:31
|
#42004/3/3 11:07:04
嘿嘿! 你的好象是用C的编程逻辑! ASP的还搞全局变量局部变量吗? 我不懂 顶顶 我也学学 哈哈
|
foxhust
职务:普通成员
等级:1
金币:0.0
发贴:4
|
#52004/3/3 11:27:23
不是很懂楼主的意思。 可以在2.asp中把errmsg传给1.asp就ok了撒
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#62004/3/3 21:47:32
对是这个意思,但是我运行后,好像不会出现不能为空
|
xxj19820224
职务:普通成员
等级:1
金币:0.0
发贴:31
|
#72004/3/4 9:36:29
我找了好多asp方面的书看但没有提到server.execute方法!
请高手详细解释!
|
xxj19820224
职务:普通成员
等级:1
金币:0.0
发贴:31
|
#82004/3/4 9:40:06
但我觉得你在调用server.execute方法前,已经又定义他为空了!
|
damoo
职务:普通成员
等级:1
金币:1.0
发贴:28
|
#92004/3/5 9:46:02
一、关于重定向的两种方法:execute和transfer。 在asp3.0和iis5.0中,要想重定向其他页面,或者在程序运行过程中想执行其他页面的一段代码,可以使用server对象的execute和transfer方法。execute是调用另外一个页面,执行完毕,又回到原来页面execute方法的下一行继续执行。transfer执行另外一个页面完毕,就不再回到原来的页面,相当于在原来页面的最后一行使用execute方法。 二、关于原始页面的变量和环境。 在使用这两个方法时,原页面的网页环境也传递给了目标页面,比如request、session等的属性。但是一般的变量无法传递。这就是楼主的代码为什么出错的原因。也就是说1.asp中的变量无法传递给2.asp,2.asp的变量也无法传递给1.asp。 解决方案一:要想把变量传递过去,可以把变量设置成application变量,这样所有程序就能共享,执行完毕再清空application。 解决方案二:不如把需要执行引用的页面做成过程或者函数,嵌入此页面,然后再调用此函数。 解决方案三:当然用最基本的服务器端(ssi)包含啦!include一下不就行了。 三、server对象的这两个方法,其实是解决服务器端“动态包含”的最佳解决方案,可以参看《asp设计》一书,也可以到页面http://www.oreilly.com/catalog/designasp/chapter/ch01.html看英文。 不当之处,请指点!
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#102004/3/5 15:34:20
我对第二个解决方案不理解,不知道能不能举个实际的例子啊
|
damoo
职务:普通成员
等级:1
金币:1.0
发贴:28
|
#112004/3/5 18:08:36
2.asp
sub asp2()
errmsg="不能为空"
end sub
1.asp
'嵌入2.asp里面的函数
sub asp2()
errmsg="不能为空"
end sub
dim errmsg
errmsg=""
asp2
response.write errmsg
不知道是不是多此一举?
|
mlzboy
职务:普通成员
等级:2
金币:2.0
发贴:317
|
#122004/3/9 12:05:08
你的意思是不是直接include 2.asp在1.asp里面啊
|