asp网页中变量作用域的问题提问

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:29:36
<%
dim i
i=0
%> <script language=vbscript>
If msgbox("",4+32,"")=6 then
i=1
end if
</script>
<%=i%>

要求在弹出的对话框中,点"是"则网页输出1,即<%=i%>中i=1;而点否则网页输出0,即<%=i%>中i=0。
请问上面的源文件应该如何修改才行?
我的目的是;弹出对话框后,让用户选择。点是则执行是的代码;点否则执行否的代码。如:
<%
dim i
i=0
%> <script language=vbscript>
If msgbox("该文件已经存在,点是则覆盖;点否则重新命名!",4+32,"")=6 then
i=1
end if
</script>
<%
if i=1 then
'覆盖文件
else
'重新命名
end if
%>
这段代码应该怎样修改才能实现我的目的?

你的ASP基础没学好。

服务器总是先解析ASP,再解析脚本语言,最后才是HTML显示给客户端。

解析ASP后的HTML代码为:
<script language=vbscript>
If msgbox("",4+32,"")=6 then
i=1
end if
</script>
0 (因为你的ASP中i的值为0,所以输出0)

然后再运行VB脚本。
无论你点是或否都是改变的VB脚本中的变量i。
因为服务器总是先ASP,再脚本,如果你要输入vb脚本中的变量,就只能用脚本输出,不能用ASP,代码如下:

<script language=vbscript>
If msgbox("",4+32,"")=6 then
i=1
end if

document.write i
</script>