尝试在ColdFusion 9中使用动态表示法替换所有评估函数

时间:2017-05-19 17:08:19

标签: coldfusion coldfusion-9

您好我的任务是更换此coldfusion应用程序中的所有evaluate()函数。我在一些相当复杂的评估中遇到了一些问题,我只是想不起来。

当它是一个简单的变化时 这样:

<cfif isNumeric(evaluate("form.value_#REPORT_FIELD_ID#"))>

To This:

<cfif isNumeric(form["value_" & REPORT_FIELD_ID])>

这一切都很好,但为此:

<cfif evaluate("qrySearch.#qryReportFields.FIELD_NAME[qryReportFields.currentRow]#") eq true>

不是那么多

我尝试过几件事。我以为这会起作用

<cfif qrySearch[#qryReportFields.FIELD_NAME[qryReportFields.currentRow]#] eq true>

但它抛出一个Complex对象类型无法转换为简单值。错误。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我相信如果您对查询列名称使用括号表示法,则还必须包含行号。

<cfif qrySearch[qryReportFields.FIELD_NAME[qryReportFields.currentRow]][qrySearch.currentrow] eq true>

如果只有一条记录,而不是循环等,则只传递1而不是currentrow