三重行情?如何在ASP.NET中分隔数据绑定Javascript字符串参数?

如何在锚点 OnClick 事件中分隔Javascript数据绑定字符串参数?

  • 我在ASP.NET Repeater控件中有一个锚标签。
  • 锚点的 OnClick 事件包含对Javascript函数的调用。
  • Javascript函数为其输入参数提供一个字符串。
  • 字符串参数由来自Repeater的数据绑定值填充。

我需要 Container.DataItem 的“双引号”。
我需要 OnClick 的'单引号'。

对于Javascript函数调用的输入字符串参数,我仍然需要多一个分隔符(三引号?)。

由于我不能再次使用'单引号',我如何确保Javascript函数知道输入参数是一个字符串而不是一个整数?

如果在输入字符串参数周围没有多余的引号,那么Javascript函数会认为我传入了一个整数。

提前喝下任何你可以放下的知识。

主播:

Show/Hide    

这里是Javascript:

<script language="JavaScript" type="text/javascript">
/* Shows/Hides the Jobs Div */
function ToggleDisplay(jobCode)
{
    /* Each div has its ID set dynamically ('d' plus the JobCode) */
    var elem = document.getElementById('d' + jobCode);

    if (elem) 
    {
        if (elem.style.display != 'block') 
        {
            elem.style.display = 'block';
            elem.style.visibility = 'visible';
        } 
        else
        {
            elem.style.display = 'none';
            elem.style.visibility = 'hidden';
        }
    }
}
</script>
0
额外 编辑
意见: 2

3 答案

尝试将额外的文本放入服务器端脚本块并连接。

onclick='<%# "ToggleDisplay(""" &  DataBinder.Eval(Container.DataItem, "JobCode") & """);" %>'

编辑:我很确定你可以在脚本块外面使用双引号。

0
额外

如果在输入字符串参数周围没有多余的引号,那么Javascript函数会认为我传入了一个整数。

你可以做一些基本的字符串函数来强制JavaScript将它变成一个字符串吗?喜欢

value = value + ""
0
额外

I had recently similar problem and the only way to solve it was to use plain old HTML codes f要么 single (') and double quotes (").

源代码当然是一团糟,但它工作。

尝试

Show/Hide

要么

Show/Hide
0
额外
Winna!感谢Lubos。 HTML代码对它进行了排序(并且是的,这很麻烦,但它有效)。解决方案:onclick ='ToggleDisplay(“<�%#DataBinder.Eval(Container.DataItem,”JOB_Code“)%>”);'
额外 作者 Dhaust,
“是双引号。”是单引号
额外 作者 emeh,