
654
Chapter 3: ColdFusion Functions
Note:
If you use number signs (#) in string_expression1 or string_expression2, ColdFusion evaluates
the part of the expression in number signs first. If you misuse the number signs, you can cause
unexpected results from the
IIf
function. For example, if you use number signs around the whole
expression in string_expression1, and if there is an undefined variable in string_expression1, the
function might fail, with the error 'Error Resolving Parameter,'
If a variable is undefined, ColdFusion throws an error when it processes this function. The
following example shows this problem:
#IIf(IsDefined("Form.Deliver"), DE(Form.Deliver), DE("no"))#
This returns "Error resolving parameter FORM.DELIVER".
To avoid this problem, use the
DE
and
Evaluate
functions in code such as the following:
#IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form.Deliver")), DE("no"))#
This returns "no"; ColdFusion does not throw an error.
In the following example,
LocalVar
is undefined; however, if you omit number signs around
LocalVar
, the code works properly:
<cfoutput>
#IIf(IsDefined("LocalVar"), "LocalVar",
DE("The variable is not defined."))#
</cfoutput>
The output is:
The variable is not defined.
The number signs around
LocalVar
in the following code cause it to fail with the error message
'Error Resolving Parameter', because ColdFusion never evaluates the original condition
IsDefined("LocalVar")
.
Here is another example:
<cfoutput>
#IIf(IsDefined("LocalVar"), DE("#LocalVar#"), DE("The variable is not
defined."))#
</cfoutput>
The error message would be as follows:
Error resolving parameter LOCALVAR
The
DE
function has no effect on the evaluation of
LocalVar
, because the number signs cause it to
be evaluated immediately.
Example
<h3>IIf Function Example</h3>
<p>IIf evaluates a condition, and does an Evaluate on string
expression 1 or string expression 2 depending on the Boolean
outcome <I>(True: run expression 1; False: run expression 2)</I>.</p>
<p>The result of the expression
IIf( Hour(Now())
GTE 12,
DE("It is afternoon or evening"),
DE("It is morning"))
is:<br><b>
Содержание COLFUSION MX 7-CFML
Страница 1: ...COLDFUSION MX7 CFML Reference...
Страница 20: ...20 Chapter 1 Reserved Words and Variables...
Страница 50: ...50 Chapter 2 ColdFusion Tags cfelse br Searching cfif cfloop cfif...
Страница 101: ...cfdefaultcase 101 cfdefaultcase cfswitch cfoutput Your grade is grade cfoutput...
Страница 115: ...cfdocumentsection 115 cfdocumentsection cfoutput cfdocument...
Страница 311: ...cfNTauthenticate 311 Please Try again H2 cfif cfoutput cfinclude template loginform cfm cfabort cfif cfif cflogin...
Страница 411: ...cftable 411 cftable body html...
Страница 515: ...Chr 515 maxlength 5 p input type Submit name input type RESET cfform...
Страница 605: ...GetEncoding 605 WriteOutput The encoding is theEncoding cfscript cfif...
Страница 629: ...GetProfileString 629 tr td input type Submit name Submit value Submit td td td tr table form...
Страница 655: ...IIf 655 cfoutput IIf Hour Now GTE 12 DE It is afternoon or evening DE It is morning cfoutput b...
Страница 664: ...664 Chapter 3 ColdFusion Functions cfelse h3 Conversion error h3 cfif...
Страница 687: ...IsStruct 687 cfoutput cfquery cfif cfoutput hr Employee Add Complete cfoutput cfcase cfswitch...
Страница 693: ...IsWDDX 693 struct data wddxPacket hr xmp cfoutput packet xmp IsWDDX returns IsWDDX packet br cfoutput...
Страница 751: ...LSDateFormat 751 hr noshade cfoutput cfloop...
Страница 861: ...StructFind 861 cfquery cfif cfoutput hr Employee Add Complete cfoutput cfcase cfswitch...
Страница 869: ...StructIsEmpty 869 cfoutput cfquery cfif cfoutput hr Employee Add Complete cfoutput cfcase cfswitch...
Страница 903: ...Val 903 value Is the beginning numeric name form...
Страница 932: ...932 Chapter 3 ColdFusion Functions...
Страница 944: ...944 Chapter 4 ColdFusion MX Flash Form Style Reference...
Страница 962: ...962 Chapter 5 Application CFC Reference...
Страница 1008: ...1008 Chapter 6 ColdFusion MX Event Gateway Reference cfset retValue Reason reason cfreturn retValue cffunction...
Страница 1054: ...1054 Chapter 6 ColdFusion MX Event Gateway Reference...