ColdFusion 9.0 Resources |
DEDescriptionEscapes any double-quotation marks in the parameter and wraps the result in double-quotation marks. ReturnsParameter, surrounded by double-quotation marks, with any inner double-quotation marks escaped. See alsoEvaluate, IIf, PrecisionEvaluate, Using Expressions and Number Signs in the Developing ColdFusion Applications UsageThe DE function postpones evaluation of a string that is passed as a parameter to the IIf, Evaluate, or PrecisionEvaluate 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 must not be treated as an expression. The following example shows 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 (#). The 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:
Example<!--- 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> |