<cfif ISDEFINED("CALLER.VARIABLES.STRFUNCNAME")>
<cfparam name="strFuncName" default="#EVALUATE(CALLER.VARIABLES.STRFUNCNAME)#" />
<cfelse>
<cfparam name="strFuncName" default="" />
</cfif>
此代码位于我们的CustomTags之一中,并在EVALUATE行上发生错误。我不确定这甚至是可能的。ColdFusion:isdefined,但引发未定义错误
我可以从调用页面做到这一点,看看该变量的定义:
<cfset VARIABLES.strFuncName = "strFuncName#intModule#"> <!--- intModule = 1188 --->
#VARIABLES.strFuncName#: #EVALUATE(VARIABLES.strFuncName)# <!--- strFuncName1188: Main --->
<CF_CUSTOMTAG> <!--- Tell me Variable strFuncName1188 is undefined. --->
注意评估呼叫 – 2011-12-21 18:40:56
这工作中的单引号。你能解释一下吗?我还发现,以另一种方式工作(请参阅我的文章)... – Brad 2011-12-21 18:49:27
它的工作原理是评估采用传递给它的字符串,并尝试将该字符串解释为动态表达式。使用引号,要传递的字符串是变量的名称。没有引号,字符串就是变量的内容。老实说,它看起来并不像你甚至需要eval,因为字符串是静态的。 – 2011-12-21 18:52:50