当我尝试在我的ColdFusion代码中嵌入井号时,我遇到了问题。我不断收到以下错误消息:
第26行第26行找到无效的CFML构造。 ColdFusion正在查看以下文字:
#
以下是代码:
<cfloop index="i" from="1" to="12">
<cfset needRecord.setNeed#i#(#form["need#i#"]#) />
</cfloop>
如果我在cfset标签之外运行循环,如下所示:
<cfloop index="i" from="1" to="12">
needRecord.setNeed#i#(#form["need#i#"]#)
</cfloop>
代码运行并生成我想在cfset标记中生成的内容。知道我做错了吗?
非常感谢任何帮助。
答案 0 :(得分:6)
需要记录一个CFC吗?这是一种方法:
<cfinvoke component="#needRecord#" method="setNeed#i#" x="#form['need#i#']#">
其中“x”是setNeed的参数名称。你也可以简化。类似的东西:
<cfset value = form["need#o#"]>
<cfset evaluate("needRecord.setNeed#i#(value)")>
答案 1 :(得分:0)
你不能在cfset中使用井号,除非它在一个字符串中(例如“need#i#”)。请注意,对于动态CFML,您可以使用ColdFusion的evaluate()函数。
<cfset cfml = "needRecord.setNeed#i#(form[need#i#])" />
<cfset evaluate(cfml) />
答案 2 :(得分:-1)
我相信你可以把它重写为:
<cfset needRecord.setNeed#i#(form["need#i#"]) />
表格[]周围的英镑符号不应该是必要的,应该清除嵌套的英镑符号问题