Procedury ASP
V ASP můžete volat proceduru JavaScriptu z VBScriptu a naopak.
Postupy
Zdrojový kód ASP může obsahovat procedury a funkce:
Příklad
<!DOCTYPE html>
<html>
<head>
<%
sub vbproc(num1,num2)
response.write(num1*num2)
end sub
%>
</head>
<body>
<p>Result: <%call vbproc(3,4)%></p>
</body>
</html>
Chcete-li zapsat proceduru/funkci v jiném skriptovacím jazyce , vložte řádek <%@ language=" language " %> nad značku <html>:
Příklad
<%@ language="javascript" %>
<!DOCTYPE html>
<html>
<head>
<%
function jsproc(num1,num2)
{
Response.Write(num1*num2)
}
%>
</head>
<body>
<p>Result: <%jsproc(3,4)%></p>
</body>
</html>
Rozdíly mezi VBScriptem a JavaScriptem
Při volání procedury VBScript nebo JavaScript ze souboru ASP napsaného ve VBScript můžete použít klíčové slovo "call" následované názvem procedury. Pokud procedura vyžaduje parametry, musí být seznam parametrů při použití klíčového slova "call" uzavřen v závorkách. Pokud klíčové slovo "call" vynecháte, seznam parametrů nesmí být uzavřen v závorkách. Pokud procedura nemá žádné parametry, jsou závorky volitelné.
Při volání procedury JavaScript nebo VBScript ze souboru ASP napsaného v JavaScriptu vždy používejte závorky za názvem procedury.
Procedury VBScript
VBScript má dva druhy procedur:
- Dílčí postup
- Funkční postup
Dílčí procedury VBScript
Dílčí postup:
- je řada příkazů uzavřená mezi příkazy Sub a End Sub
- může provádět akce, ale nevrací hodnotu
- může přijmout argumenty
Sub mysub()
some statements
End Sub
nebo
Sub mysub(argument1,argument2)
some statements
End Sub
Příklad
Sub mysub()
response.write("I was written by a sub procedure")
End Sub
Procedury funkcí VBScript
Postup funkce:
- je řada příkazů uzavřená mezi příkazy Function a End Function
- může provádět akce a může vracet hodnotu
- může převzít argumenty, které mu předá volající procedura
- bez argumentů, musí obsahovat prázdnou sadu závorek ()
- vrátí hodnotu přiřazením hodnoty k jeho názvu
Function myfunction()
some statements
myfunction=some value
End Function
nebo
Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function
Příklad
function myfunction()
myfunction=Date()
end function
Volání procedury
Tato jednoduchá funkční procedura je volána k výpočtu součtu dvou argumentů:
Příklad
Function myfunction(a,b)
myfunction=a+b
End Function
response.write(myfunction(5,9))
Funkce "myfunction" vrátí součet argumentu "a" a argumentu "b". V tomto případě 14.
Když voláte proceduru, můžete použít příkaz Call, jako je tento:
Call MyProc(argument)
Nebo můžete výpis volání vynechat takto:
MyProc argument
Další příklady
Jak volat proceduru JavaScriptu i proceduru VBScript v souboru ASP.