Escapes any double-quotation marks in the parameter and wraps the result in double-quotation marks.
Parameter, surrounded by double-quotation marks, with any inner double-quotation marks escaped.
DE
(string)
Evaluate
, IIf
, Using Expressions and Number Signs in ColdFusion MX Developer's Guide
Parameter | Description |
---|---|
string |
String to evaluate, after delay |
The DE
function postpones evaluation of a string that is passed as a parameter to the IIf
or Evaluate
functions.
This function is especially useful with the IIf
function, which automatically evaluates its second and third parameters as expressions. You can use the DE
function to prevent the function from evaluating a string parameter that is to be output as a variable, and should not be treated as an expression. The following example show this use; it uses IIF
to alternate table-row background colors, white and gray, and uses the DE
function to prevent ColdFusion from evaluating the color strings.
<cfoutput> <table border="1" cellpadding="3"> <cfloop index="i" from="1" to="10"> <tr bgcolor="#IIF( i mod 2 eq 0, DE("white"), DE("gray") )#"> <td> hello #i# </td> </tr> </cfloop> </table> </cfoutput>
The DE
function does not delay evaluation of variable names that are surrounded by number signs (#). ColdFusion function evaluates the variable regardless of whether the DE
function is present.
The following example shows how you can use the DE
function and number signs together, and shows how the function works with an IIF
function:
<cfoutput> <cfset var1=Blue> <cfset var2=Green> <cfset myresult=IIf( 1 eq 2, DE(#Var1#), DE(#Var2#))> The expression is #myresult# </cfoutput>
ColdFusion processes this code as follows:
var1
and var2
to be the strings Blue and Green.
IIF
function evaluates the test expression, determines that it is False, and then evaluates the third parameter.
DE
function, which takes the string Green and surrounds it in quotation marks
IIF
function returns the string "Green", including the quotation marks.
cfset
tag gets the expression result="Green", and sets the value of the myresult
variable to the string Green.
#myresult#
in the output text, replaces the variable with its value, the string Green, and displays the result.
<!--- This example shows the use of DE and Evaluate ---> <h3>DE Example</h3> <cfif IsDefined("FORM.myExpression")> <cftry> <!--- Show the expression and the results of evaluating it ---> <cfoutput> <h3>Evaluate the Expression #FORM.MyExpression#</h3> </cfoutput> The code:<br> #Evaluate(FORM.myExpression)# <br><br> The result:<br> <cfoutput> #Evaluate(FORM.myExpression)# </cfoutput> <h3>Use DE to prevent the Evaluate function from evaluating</h3> The code:<br> #Evaluate(DE(FORM.MyExpression))#<br><br> The result:<br> <cfoutput> #Evaluate(DE(FORM.MyExpression))# </cfoutput> <!--- Error handling code for bad expressions and any other error.---> <cfcatch type = "Any"> <!--- the message to display ---> <h3>Sorry, there's been an <B>Error</B>. Try a simple expression, such as "2+2".</h3> <cfoutput> <!--- Display the diagnostic message from ColdFusion. ---> <p>#cfcatch.message# </cfoutput> </cfcatch> </cftry> </cfif> <h3>Enter any valid ColdFusion expression</h3> <cfform> <cfinput name="myExpression" type="Text" size="40"> <cfinput type="submit" name="submitit"> </cfform>