The ExpandScript method method is used to expand script pages that contain FoxPro expressions and Code blocks using Active Server like syntax. The method generates a fully self contained HTML page/HTTP output which includes an HTTP header.
This class uses the wwScripting class to parse expression blocks and codeblocks.
Expression Examples:
<%= DateTime() %>
<%= lcVar %>
<%= TQuery.FieldName %>
<%= MyFunction() %>
Code Block Examples:
<%
lcOutput = ""
for x = 1 to 5
lcOutput = lcOutput + TRANS(x) + "<br>"
endfor
Response.Write(lcOutput)
%>
<%
SELECT Company from TT_CUST INTO CURSOR TQuery
SCAN
%>
Company: <%= Company %><br />
<% ENDSCAN %>
ExpandScript() behavior can be called explicitly or is available through generic script processing in the wwScriptMaps process handler which can be mapped for any extension in your server's Process method.
o.ExpandScript(tcPageName, tnMode, tvContentType, tlRenderAsString)
Return Value
nothing unless tlRenderAsString is .T. in which case the raw HTML is returned (without HTTP headers)
Parameters
tcPageName
Optional - Name of the page from disk to expand. Optionally, this can be the actual string of the script to evaluate. If not provided Request.GetPhysicalPath() is used.
tnMode
Optional - Determines the compilation mode for scripts. Default Mode is 1. For more info see wwServer::nScriptMode.
- Dynamic Compilation
- Precompiled FXP files
- Interpreted with ExecScript
tvContentType
Optional - Either a wwHTTPHeader object or a content type string.
tlRenderAsString
Optional - If .T. returns output as string rather than rendering into Response stream. No HTTP headers are returned just the raw rendered script output.
Example
Response.ExpandScript() && use PhysicalPath
Response.ExpandScript(Request.GetPhysicalPath()) && same as above
Response.ExpandScript("~/scriptdemo.wcs") && Web Root relative path
Expression Examples:
<%= DateTime() %>
<%= lcVar %>
<%= TQuery.FieldName %>
<%= MyFunction() %>
Code Block Examples:
<%
lcOutput = ""
for x = 1 to 5
lcOutput = lcOutput + TRANS(x) + "<br>"
endfor
Response.Write(lcOutput)
%>
<%
SELECT Company from TT_CUST INTO CURSOR TQuery
SCAN
%>
Company: <%= Company %><br />
<% ENDSCAN %>
To exit a script issue RETURN as part of a script block:
<% IF llCanceled
RETURN && Exit script
ENDIF
%>
Script pages have access to a special wwScriptingHttpResponse object which provides the ability to write output into the HTTP stream using Response. methods. From within script code you can add headers, cookies and otherwise manipulate the Response.
<%
lcOutput = "New Value"
Response.Write(lcOutput)
%>
<%
Response.AppendHeader("Expires","-1")
Response.AppendHeader("Refresh","1;url=http://www.west-wind.com/")
Response.AddCookie("SomeCookie","Some Value")
Response.AddCookie("MyCookie","My Cookie Value","/",Date() + 10)
%>
Overloads:
See also:
Class wwResponse | wwResponse::ContentTypeHeader | wwResponse::ExpandTemplate | wwResponse::ExpandScriptToString© West Wind Technologies, 1996-2024 • Updated: 11/04/18
Comment or report problem with topic