<cfif ISDEFINED("CALLER.VARIABLES.STRFUNCNAME")>
<cfparam name="strFuncName" default="#EVALUATE(CALLER.VARIABLES.STRFUNCNAME)#" />
<cfelse>
<cfparam name="strFuncName" default="" />
</cfif>
此代码位于我们的一个CustomTag中,并在EVALUATE行上抛出错误。我不确定那是怎么回事。
我可以从调用页面执行此操作,以查看变量是否已定义:
<cfset VARIABLES.strFuncName = "strFuncName#intModule#"> <!--- intModule = 1188 --->
#VARIABLES.strFuncName#: #EVALUATE(VARIABLES.strFuncName)# <!--- strFuncName1188: Main --->
<CF_CUSTOMTAG> <!--- Tell me Variable strFuncName1188 is undefined. --->
答案 0 :(得分:3)
将您的代码更改为:
<cfparam name="strFuncName" default="#EVALUATE('CALLER.VARIABLES.STRFUNCNAME')#" />
答案 1 :(得分:0)
终于想通了......
CALLER.VARIABLES.STRFUNCNAME只返回“strFuncName ####”。因此,对此进行评估是在当前处理范围内查找变量“strFuncName ####”,而不是在CALLER上。
我将cfparam更改为以下内容并开始工作:
<cfparam name="strFuncName" default="#EVALUATE("CALLER." & CALLER.VARIABLES.STRFUNCNAME)#" />