variables - 在经典ASP中传递变量

标签 variables error-handling asp-classic parameter-passing webpage

我正在处理包含另一个ASP页面的旧代码。

<!--#INCLUDE virtual="/PAGE1.ASP"-->

从该页面获取一个变量,例如x,我相信我会这样做:
x = Request.Form("x")

那是对的吗?

另外,变量名称是否对经典.ASP文件区分大小写?

非常感谢。

最佳答案

您应该认为该页面是内置到一个连续页面中的,因此,如果包含许多.asp文件,它们将构成您完成的页面。

例如,如果您有三个文件:

文件_1.asp

<h1>Hello, World!</h1>

File_2.asp

<p>This file will be included too!</p>

File_3.asp
<%Dim version
version = 1.1%>

...并将它们包含在一个核心文件中...

File_Output.asp
<!-- #include virtual="file_1.asp" -->
<!-- #include virtual="file_2.asp" -->
<!-- #include virtual="file_3.asp" -->
<% Response.Write(version) %>
File_Output.asp将显示version中定义的File_3.asp变量。

有一篇不错的小文章here

-编辑-

只需添加(在文章末尾错过了问题):

区分大小写取决于Classic ASP使用的脚本语言。使用VBScript时,变量名区分大小写,而区分大小写,而使用JScript(从语法上讲,它非常类似于JavaScript),变量区分大小写。

另外,要解决Err对象:

有一个很棒的小片段here,但是要了解细节,您需要将代码包装在一个错误捕获块中,如下所示:

On Error Resume Next    '<-- This line starts trapping errors
    ...
On Error Goto 0         '<-- This line stops trapping errors

如果此块中确实发生错误,则需要对其进行处理。与ASP.NET,Java等不同,您不会被告知存在错误。没有好的Try...Catch包装器可以很好地处理错误。您必须某种程度地预测错误将在何处发生。通常很明显。如果脚本中有数据库操作,则最好在读取或写入数据后立即测试错误。检查错误很简单-您测试Number对象的Err属性:

On Error Resume Next    '<-- This line starts trapping errors
    'Some database manipulation...
    If Err.Number <> 0 Then
        ... 'Handle the error
    End If
On Error Goto 0         '<-- This line stops trapping errors

可以扩展为考虑不同的错误消息:

On Error Resume Next    '<-- This line starts trapping errors
    'Some database manipulation...
    Select Case Err.Number
        Case 1
            ... 'Handle the error
        Case 2
            ...
        Case 3021 'No data returned
            Response.Write("No data was returned.")
    End Select
On Error Goto 0         '<-- This line stops trapping errors

希望这可以帮助。

关于variables - 在经典ASP中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26129183/

相关文章:

c# - 添加方法后有关静态局部函数的错误

error-handling - Yii中如何强行产生404错误

azure - 如何在Azure网站上执行提升的cmd?

c++ - 整个程序的变量访问

javascript 将变量添加到链接的末尾

C 预处理器与变量的连接

error-handling - MeteorJS错误类别

c# - 让 C# 识别 Visual Studio 之外的 dll

http - 如何在 ASP 中执行 HTTP POST 请求?

shell - shell中使用sed声明变量