sub为什么没有正确执行呢?急,在线等!

bineon 2003-08-25 01:02:58
<%
dim ceshi
ceshi="test1" '输入参数,调试可以用test1,test2

call found()
response.write founderr '查看founderr的值,这里不能输出,估计问题就在这里,但是为什么呢?
if founderr then call error()

sub found()
if ceshi="test1" then
errmsg="test1"
founderr=true
elseif ceshi="test2" then
errmsg="test2"
founderr=true
end if

response.write founderr&"|" '查看founderr的值,经测试这里能输出

if founderr then exit sub '另外为什么这里没有end if却不报错?

founderr=false
errmsg="ok"
end sub

sub error()
response.write errmsg
end sub
%>
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bineon 2003-08-25
  • 打赏
  • 举报
回复
to lndever(飘柳)
按照你的思路,我在dim ceshi的下一行加上了public errmsg
但是结果和不加没有任何变化。怎么回事呀?

写成function?
不用吧。
zhangking 2003-08-25
  • 打赏
  • 举报
回复
应该写个 function, 而不是 sub.
lndever 2003-08-25
  • 打赏
  • 举报
回复
sub error()
response.write errmsg
end sub

因为 errmsg 不是全局变量,而是found()中的局部变量,在error()中没有给errmsg变量赋值。
bineon 2003-08-25
  • 打赏
  • 举报
回复
同样不能正确执行!
不能输出errmsg的值
511214 2003-08-25
  • 打赏
  • 举报
回复
应该把response.write founderr写在sub里;

if founderr then exit sub '另外为什么这里没有end if却不报错?

你的代码前面就有问题
你试试下面的
<%
dim ceshi
ceshi="test1" '输入参数,调试可以用test1,test2

call found()
if founderr then
call error()
end if
sub found()
if ceshi="test1" then
errmsg="test1"
founderr=false
end if
if ceshi="test2" then
errmsg="test2"
founderr=true
end if

response.write founderr&"|" '查看founderr的值,经测试这里能输出

if founderr then
exit sub '另外为什么这里没有end if却不报错?
end if
founderr=false
errmsg="ok"
end sub

sub error()
response.write errmsg
end sub
%>

如果再少了end if看会不会报错

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧