简单的asp脚本问题,却急死人 (100分)

M

mygod!

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在学asp,现在遇上问题了请大家帮下忙
为什么我在test.asp中,用
<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
<% session("username")="黄玉贤" %>
end sub
正常,好象<% session("username")="黄玉贤" %>
你不按那个按钮它也会执行的,
但修改成
<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
session("username")="黄玉贤"
end sub
</script>
却说缺少对象 session????
我看《asp后台解决方案》(人民邮电出版社出)它说
<script language="vbscript">
</script>
和<% %>分别只是一个用默认脚本,一个用vbscript而以,基本上意思是一样的,
那为什么会出现这样的问题呢??
还望大侠们指教,
 
错了,你的第一个语句就对了。
 
错了,<script>里面的语句是在客户端执行的,而<% 里面的内容是在服务器端执行的,
当然是服务器端执行后才传到客户端,所以你的语句就变成了:
<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
'<% session("username")="黄玉贤" %>
'这一句就编程了执行后的输出
end sub
所以你的程序是错误的.

 
<script language="vbscript" [red]runat="server"[/red]>
 
<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
<% session("username")="黄玉贤" %>
end sub

<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
end sub
<% session("username")="黄玉贤" %>
上面代码换了顺序以后是等价的。
在 script 中不可能改变 session 对象的值。
<%.......%> 这种语句是在后执行的。
你的程序在浏览器中用查看源文件时,
在脚本中是看不到 session("username")="黄玉贤" 的!!!!!!!!!!
 
script语句一般在网页查看源码时可以看到,你把SESSION相关信息写上去不担心你的网络安全吗?
 
提一下,希望能知道多点script的知识
 
这是VBScript和ASP的掺合使用吧。
建议你改用:
<script language="vbscript">
sub B3_onclick()
msgbox "已定义"
'此处改为一个指向服务器文件的连接,此文件只有一句话
':<% session("username")="黄玉贤" %>就可以达到你的目的了
end sub
ASP中的<%和%>之间的语句是服务器端运行的,而VBScript是在客户端运行的,客户端如
果不提交响应回服务器端是不可能更改SESSION的值。
 
谢谢了,从这个贴子中,我知道了<% %>是在有服务端运行的,<script language="vbscript"
> </script>就是在客户端运行的,总算有收获,分分了。谢谢大家![8D][8D]
 
呵呵,强烈建议你去购买一本书学习ASP或者去网上寻找相应的ASP资源来学习。
我以前学习ASP的地方:http://www.bjxx.net里面的网络学院,好久没去了,不知道现在是什么样子了。
 
多人接受答案了。
 
顶部