Coldfusion 在参数名称中使用连字符

Coldfusion 在参数名称中使用连字符,coldfusion,jquery-mobile,railo,cfwheels,Coldfusion,Jquery Mobile,Railo,Cfwheels,我正在使用CFWheels和jquery mobile,并试图将一些jquerymobile设置传递到linkto调用(主要是数据图标属性)。我以前从未使用过此属性,但ColdFusion似乎不允许在参数名称中使用连字符。我的调用如下: <cfset contentFor(actioncontent=linkTo(text='Login', route='login', data-icon='check')) /> CFBuilder和Railo在连字符上抛出错误。Railo错

我正在使用CFWheels和jquery mobile,并试图将一些jquerymobile设置传递到linkto调用(主要是数据图标属性)。我以前从未使用过此属性,但ColdFusion似乎不允许在参数名称中使用连字符。我的调用如下:

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

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

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


所以我的问题是:我说连字符不允许出现在参数名称中是正确的吗?如果不允许,有没有办法让连字符通过,或者我只需要创建锚标记?

尝试使用引号
'data-icon'
或双引号
数据图标


它被解释为一个负号而不是破折号。你可以先创建一个结构并将其发送到参数集合中,使其在Railo和Adobe的CF上工作。否则,它只在Railo上工作

例如:

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

#linkTo(argumentCollection=args)#

args={controller=“form”,
“数据角色”=“按钮”,
'数据主题'=“c”,
text=“我接受”};
#链接到(argumentCollection=args)#
我的快速破解方法是:

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

#替换(linkTo(text=“I accept”,route=“dashboard”),“是的,这将适用于Railo。此外,这看起来像JSON的数据图标”:“检查”"
。我在Railo上,将在Railo上托管应用程序,但我想知道这是否也适用于ACF?我现在没有一台ACF服务器可供测试。谢谢sergii。我很高兴知道CF的开源版本在某些方面超过了Adobe所做的。这是可行的,但代码比@naugtur和在CF服务器上具有相同的功能。这就是问题所在-@naugtur的方法只能在railo(可能是openbd)上工作。它不能在Adobe的CF服务器上工作。我的方法可以在两台服务器上工作。它的代码更多,但如果您需要它在CF9上运行,等等,您真的没有我能看到的选择