如何在锚点OnClick事件中定界JavaScript数据绑定字符串参数?
>我在ASP.NET Repeater控件中有一个锚标签。
>锚的OnClick事件包含对Javascript函数的调用。
> Javascript函数为其输入参数接受一个字符串。
> string参数用来自Repeater的数据绑定值填充。
我需要“双引号”为Container.DataItem。
我需要’单引号’为OnClick。
我还需要为Javascript函数调用的输入字符串参数多一个分隔符(三引号?)。
由于我不能再使用’单引号’,我如何确保Javascript函数知道输入参数是一个字符串而不是一个整数?
没有在输入字符串参数附加引号,Javascript函数认为我传入一个整数。
提前为任何知识你可以下降。
锚点:
<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem,"JobCode") %>);' >Show/Hide</a>
这里是Javascript:
<script language="JavaScript" type="text/javascript"> /* Shows/Hides the Jobs Div */ function ToggleDisplay(jobCode) { /* Each div has it's 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>
解决方法
我最近有类似的问题,解决它的唯一方法是使用单纯的旧代码(#);双引号(")。
源代码是完全混乱当然,但它的工作。
尝试
<a id="aShowHide" onclick='ToggleDisplay("<%# DataBinder.Eval(Container.DataItem,"JobCode") %>");'>Show/Hide</a>
要么
<a id="aShowHide" onclick='ToggleDisplay('<%# DataBinder.Eval(Container.DataItem,"JobCode") %>');'>Show/Hide</a>