调用函数时,错误'变量未定义'

Elm*_*ett 2 asp-classic

我创建了一个经典的asp页面,其功能如下:

<%@ Language=VBScript %>
<% Option Explicit %>

<%
      <!--#INCLUDE file='ADOVBS.inc'-->
       Response.Buffer = True

%>
<%
      Function Lettergrade(lg)

             Dim lgs
             if lg>50 then
            set    lgs="P"
                else
            set    lgs="F"
             end if
           set Lettergrade= lgs
       End Function
  %>
<%
set strlettergrade=Lettergade(strgrade)
... other code goes here
%>
Run Code Online (Sandbox Code Playgroud)

我试图在表达式中调用该函数但是当它给我以下错误时:

Microsoft VBScript运行时错误"800a01f4"

变量未定义:'Lettergade'

有没有人有想法?

Mic*_*nny 5

  1. Option Explicit意味着您必须先使用DIM变量才能使用它们.
  2. <! - #INCLUDE file ='ADOVBS.inc' - >不是vbscript,所以不要在<%%>脚本分隔符标记之间包含它们.
  3. 你需要DIM strgrade
  4. 你需要使用DIM strlettergrade才能使用它
  5. 修复Lettergade的错字(strgrade)

<%@ Language=VBScript %> 
<% Option Explicit %>  
<% Response.Buffer = True %>

<!--#INCLUDE file='ADOVBS.inc'-->

<%
Dim strlettergrade
Dim strgrade

%>

<%
Function Lettergrade(lg)

if lg > 50 then
  Lettergrade ="P" 
else 
  Lettergrade ="F" 

End Function
%>

<%
strgrade = 75
strlettergrade=Lettergrade(strgrade)
... other code goes here 
%> 
Run Code Online (Sandbox Code Playgroud)