嵌套的英镑符号问题

时间:2010-06-17 19:30:12

标签: coldfusion

当我尝试在我的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标记中生成的内容。知道我做错了吗?

非常感谢任何帮助。

3 个答案:

答案 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#"]) />

表格[]周围的英镑符号不应该是必要的,应该清除嵌套的英镑符号问题