asp-classic – <%%>和经典asp之间有什么区别?

我在网上找不到太多文档

到目前为止,明显的区别似乎是你不能使用“script”标签混合html和vbscript

例如,这没关系

<% public sub display_literal() %>
  literal
&lt% end sub %>

但是你应该使用脚本标签


<script language="vbscript" runat="server">
public sub display_literal2()
    response.write "literal2</br>"
end sub
</script>

在本页面

http://www.newobjects.com/pages/ndl/alp/asp-structure.htm

它说

In classic ASP the script written in the default script language for the page (i.e. the language assumed for the <% %> tags) is executed second – e.g. all the script code in <% %> tags is initialized after all the <SCRIPT RUNAT=SERVER …> scripts.

但我做了几个测试,无法验证它……

我问,因为我有一个脚本(我现在没有它),使用< %%>给了我一个错误,将其更改为< script>标签解决了问题,但我想知道为什么….

无论如何,我想我们应该使用< script>要从< %%>调用函数和过程的标记标签……对吗?

解决方法

首先,您需要了解服务器端脚本标记的处理方式有所不同,具体取决于指定的语言是否与页面认语言相同.

顺序是这样的: –

>在< script runat =“server”标记中运行所有脚本,其中指定的语言与认语言不匹配.这些按文档顺序执行.>运行认脚本.这意味着执行对响应的隐含写入,其中页面中存在静态内容(不在runat =“server”标记内或在< %%>内)以及< %%>中的任何中间代码再次按文件顺序显然.>在< script runat =“server”标记中找到的全局级别运行任何代码,其中语言与认脚本语言匹配. 请注意,所有脚本在执行阶段1之前都有一个初始解析,因此可以在阶段3中运行的脚本定义的任何函数都可用于从阶段1调用.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....