首页 > 解决方案 > 将 WriteOutput 转换为可用的 CFOutput 变量时出现问题

问题描述

我很确定我之前在创建动态报告时做过​​类似的事情,但这让我很难过。我有一组动态创建的变量名,所以我正在执行嵌套在 cfoutput 中的 WriteOutput

<cfoutput query="GetData">
<cfscript>
    writeoutput(#variabnas#);
</cfscript>
</cfoutput>

但这所做的只是为查询返回的记录数重复变量名称,而不是数据。

#FieldValue1# #FieldValue2# #FieldValue1# #FieldValue2# #FieldValue1# #FieldValue2#  

我是否需要将 WriteOut 包装在其他任何东西中以将其标识为实际变量?感激地收到任何帮助,因为我不经常支持 CF。

标签: cfmlcoldfusion-2016

解决方案


为了使动态驱动的变量名称起作用,我将使用 evaluate() 函数。我也不会同时使用 cfoutput 和 writedump 和 cfscript。这应该有效:

<cfoutput>
<cfloop query="GetData">
#evaluate("#variabnas#")#
</cfloop>
</cfoutput>

但是由于安全性和开销,请谨慎使用评估()。如需更多信息,请阅读内容。


推荐阅读