您好,我的任务是替换此 coldfusion 应用程序中的所有 evaluate(( 函数。我对一些相当复杂的评估有一些问题,我只是无法弄清楚。
当它是一个简单的变化,如这:
<cfif isNumeric(evaluate("form.value_#REPORT_FIELD_ID#"))>
对此:
<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>
但它抛出了一个复杂对象类型无法转换为简单值的错误。
任何帮助将不胜感激。
我相信
如果您使用括号表示法作为查询列名称,您还必须包含行号。
<cfif qrySearch[qryReportFields.FIELD_NAME[qryReportFields.currentRow]][qrySearch.currentrow] eq true>
或者如果只有一条记录,而不是循环等,则只传递 1 而不是当前行