初学 ASP ,一个概念问题

21lyw 2007-11-03 09:46:46
这是页面的第一行
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

下面的是分别执行的情况:

能执行
<script language="vbscript">
msgbox "aaaaaaaaaa"
</script>


没错误,但没有提示框
<script language="vbscript">
msgbox "aaaaaaaaaa"
</script>


能执行
<%
response.write "<script language=vbscript>"&"msgbox"&"""谁说不能调用啊!"""&"</script>"
%>

提示:没有权限: 'msgbox'
<%
msgbox "bbbbbbb"
%>

在网上找了一些帖子,有的说这,有的说那,也没明白
哪位能给一个准确的说明
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2007-11-05
  • 打赏
  • 举报
回复
楼上的见过用jscript做脚本写asp的吗? 如果你用jscript写asp, 那么有人问了alert,你是不是又会说vbs的msgbox不能用吗?非得用jscript的alter干什么

建议楼主先去弄懂b/s的概念, asp的运行机制.
我简单说一下.
ie (browser) 访问 某个site (webserver), 提交请求后, 服务器端处理数据, 执行asp脚本,执行完后,服务器发送 html代码到ie, ie将html代码呈现现给用户.

<%%>里面定界的都是服务器端执行的东西. 外面都是ie上执行的.
<html> <!--row 1-->
<script>alert('aa')<script> <!--row 2-->
<%response.end%> <!--row 3-->
<script>alert('bb')</script> <!--row 4-->
</html> <!--row 5-->

这么简单的的几行,执行顺序是什么呢?
第1,2,行服务器只将代码读进来,再输出去, 它们不在<%%>里面,服务器不需要处理.
第3行,在<%%>之内,指令的意思就是停止输出, 那么服务器就停止了输出,即第4,5行不被发送到浏览器

asp 是顺序执行的脚本
<%
Response.Write("a")
Response.write("b")
MsgBox "c"
Response.Write("d")
%>
第三行,如果服务器弹出了对话框, 那么在没人按框时,第四行不会执行. 而框是在服务器端弹出,也即客户端用户就无法得到后面的处理或输出了.MS当然不会弱智到要求用ASP的企业在每个服务器上安排个人专门给你点对话框, 没有意义.
youyilong 2007-11-05
  • 打赏
  • 举报
回复
路过!!!!
jiagun4 2007-11-04
  • 打赏
  • 举报
回复
就是啊,用javascript的alert不就得了吗?非得用vbscript的msgbox干什么?
siren7577 2007-11-04
  • 打赏
  • 举报
回复
好经典的问题……
见过N个人问过。
lijie_ai 2007-11-04
  • 打赏
  • 举报
回复
路过
21lyw 2007-11-03
  • 打赏
  • 举报
回复
麻烦再问:
哪些是浏览器解析的,哪些是服务器执行的,能不能给一个大概的概念?
xiaolei1982 2007-11-03
  • 打赏
  • 举报
回复
msgbox是客户端脚本语言,也就是通过本机浏览器解析的,你放在<%。。。%>服务器端里面所以不能执行
response.write " <script language=vbscript> "& "msgbox "& " " "谁说不能调用啊! " " "& "
在服务器端只是把后面的当作字符串输出并不执行里面的内容,
而传到你的本机上可看原代码就成了
<script language= "vbscript ">
msgbox "aaaaaaaaaa "
</script>
所以你本机的浏览器就可以识别作出反映
千念陌 2007-11-03
  • 打赏
  • 举报
回复
楼主 你可以这么理解 虽然不准确 但好记
<script.....是在客户端(浏览器)上运行的,可以称为客户端脚本
<%%>是在服务器端运行的,可以称为服务器端脚本


unuecn 2007-11-03
  • 打赏
  • 举报
回复
偶来是顶帖的


签名:
—————————————————————————————
国内域名5元 国际域名48元 100M空间50M邮箱 88元
21lyw 2007-11-03
  • 打赏
  • 举报
回复
谢谢 songpengasp
还是不太明白: "这是注册的客户端脚本" 是什么意思?
No_Data_Found 2007-11-03
  • 打赏
  • 举报
回复
是这样 msgbox 只允许在客户端 执行 不能在服务器端执行 这是脚本特殊的地方 刚开始我也不理解的


能执行
<%
response.write " <script language=vbscript> "& "msgbox "& " " "谁说不能调用啊! " " "& " </script> "
%>
这是注册的客户端脚本 实际上是在客户端运行 msgbox


提示:没有权限: 'msgbox '
<%
msgbox "bbbbbbb "
%>
这是在服务器端



不然的话 服务器端就弹出对话框了,iis是不允许的

toury 2007-11-03
  • 打赏
  • 举报
回复

大概的概念:
----------------------------------
<!--客户端脚本开始-->
<script language='javascript'>
//这个就是客户端脚本
alert('这个就是客户端脚本')
</script>
<!--客户端脚本结束-->
------------------------------------
<!--服务器脚本开始-->
<%
'1代码写在<script></script>之间的就是客户端脚本,如上例;

'2代码写在<% %>之间的就是服务器脚本;例如你现在看到的我的解释就属于服务器脚本
'3在<%%>中间用response.write输出的语句里含有<script></script>块标记之间的代码也是客户端脚本,如下例:
response.write " <script language=vbscript> msgbox ""这里的MSGBOX是客户端脚本;出了我的范围就是不能调用啊!""</script>"
%><!--服务器脚本结束-->

28,409

社区成员

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

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