在参数名称中使用连字符

时间:2011-02-21 19:34:31

标签: coldfusion jquery-mobile railo cfwheels

我正在使用CFWheels和jquery mobile,我正在尝试将一些jquerymobile设置传递给一个linkto调用(主要是data-icon属性。我之前从未尝试过这个,但似乎ColdFusion不允许使用连字符参数名称。我的电话如下:

<cfset contentFor(actioncontent=linkTo(text='Login', route='login', data-icon='check')) />

CFBuilder和Railo在连字符上抛出错误。 Railo错误是:

  

左侧无效分配(railo.transformer.bytecode.op.OpDouble)

所以我的问题是:我是否正确地说参数名称中不允许使用连字符?此外,如果他们不被允许,有没有办法让连字符通过或我只需要创建锚标记?

3 个答案:

答案 0 :(得分:6)

尝试使用引号'data-icon'或双引号"data-icon"

它被解释为减号而不是破折号

答案 1 :(得分:2)

您可以通过首先创建结构并在参数集合中发送它来使这在Railo和Adobe的CF上运行。否则,它只适用于Railo。

示例:

<cfscript>
    args = {controller="form",
            'data-role'="button",
            'data-theme'="c",
            text="I Accept"};
</cfscript>

#linkTo(argumentCollection=args)#

答案 2 :(得分:0)

我的快速黑客是这样的:

#replace(linkTo(text="I accept", route="dashboard"),"<a ","<a data-role='button' ","ALL")#

(强调工作 hack - 不理想,但比传入argumentCollection容易得多。)