<![CDATA][
Sub query2list(objConn, query)
Dim objRs
Set objRs = objConn.Execute(query)
If objRs.EOF AND objRs.BOF Then
Response.write "<option value='none'>沒有找到記錄。</option>"
Else
Do While Not objRs.EOF
Response.write "<option value='" & objRS(0) & "'>" & objRs(0) & "</option>"
objRs.MoveNext
Loop
End If
objRS.Close
Set objRS = nothing
End Sub
]]>
Function get_cnnState()
get_cnnState = cnnState
End Function
Sub ASPConnect(oServer, oApplication, oSession, oRequest, oResponse)
Set Server = oServer
Set Application = oApplication
Set Session = oSession
Set Request = oRequest
Set Response = oResponse
cnnState = True
End Sub
Sub TestWrite(sHTML)
Response.Write sHTML
End Sub
Sub TestWriteLine(sHTML)
Response.Write sHTML & "<BR>"
End Sub
]]>
</script>
</scriptlet>
傳遞ASP對象的ASP程式如下:
testscp.asp代碼
<%
Set scrip=Server.CreateObject("testscp.Scriptlet")
if Err then
Response.Write "<BR>Error:" & Err.Number
Response.Write "<BR>" & Err.Description
Response.Write "<BR>" & Err.Source
Response.End
End If
Response.Write "<BR> cnnState=" & scrip.cnnState
if Err then
Response.Write "<BR>Error:" & Err.Number
Response.Write "<BR>" & Err.Description
Response.Write "<BR>" & Err.Source
Response.End
End If
Response.Write "<BR>Connecting..."
scrip.ASPConnect Server, Application, Session, Request, Response
if Err then
Response.Write "<BR>Error" & Err.Number
Response.Write "<BR>" & Err.Description
Response.Write "<BR>" & Err.Source
Response.End
End If
scrip.TestWriteLine ""
scrip.TestWrite "This is the first part "
scrip.TestWrite "and this is the second."
Response.Write "<BR>Testing ...WriteLine<BR>"
scrip.TestWriteLine "This is text with a line break."
scrip.TestWriteLine "And so is this."
%>
上面的代碼沒有包括<implement type = "ASP"/>, 但是仍然可以訪問ASP對象。
因為他們是被當成對象傳遞給scriptlet.
下面再給出一個很常用的取時間的狸子:
<![CDATA][
Sub option_num(num)
For i = 1 to num
If i<10 Then
x = 0 & i
Else
x = i
End If
Response.write "<option value = " & x & ">" & x & "</option>"
Next
End Sub
Sub option_month()
For i = 1 to 12
If i<10 Then
x = 0 & i
Else
x = i
End If
Response.write "<option value = " & x & ">" & MonthName(x,True) & "</option>"
Next
End Sub
Sub option_year()
For i = -1 To 3
yy = year(DateAdd("yyyy",i,Date()))
Response.write "<option value = " & yy & ">" & yy & "</option>"
Next
End Sub
]]>
</script>
</scriptlet>
Dmy_check.asp: 檔案
<%
Set scrip = Server.CreateObject("scp_dmy.Scriptlet")
%>
<html>
<head></head>
<body>
<form name = "form1">
從 :
<select name = "D1">
<option value="">dd</option>
<% call scrip.option_num(31) %>
</select>