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

Dha*_*ust 41 javascript asp.net anchor quotes

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

  • 我在ASP.NET Repeater控件中有一个锚标记.
  • OnClick锚的事件包含对Javascript函数的调用.
  • Javascript函数为其输入参数采用字符串.
  • 字符串参数使用Repeater中的数据绑定值填充.

我需要"双引号" Container.DataItem.
我需要'单引号' OnClick.

我还需要一个分隔符(三引号?)作为Javascript函数调用的输入字符串参数.

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

没有输入字符串参数周围的额外引号,Javascript函数认为我传入一个整数.

主播:

<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem, "JobCode") %>);' >Show/Hide</a>    
Run Code Online (Sandbox Code Playgroud)

这是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>
Run Code Online (Sandbox Code Playgroud)

lub*_*sko 31

我最近有类似的问题,解决它的唯一方法是使用普通的旧HTML代码用于single(&#39;)和双引号(&#34;).

源代码当然是完全混乱但它起作用.

尝试

<a id="aShowHide" onclick='ToggleDisplay(&#34;<%# DataBinder.Eval(Container.DataItem, "JobCode") %>&#34;);'>Show/Hide</a>
Run Code Online (Sandbox Code Playgroud)

要么

<a id="aShowHide" onclick='ToggleDisplay(&#39;<%# DataBinder.Eval(Container.DataItem, "JobCode") %>&#39;);'>Show/Hide</a>
Run Code Online (Sandbox Code Playgroud)

  • &#34; 是双引号.&#39; 是单引号 (2认同)

小智 6

onclick='javascript:ToggleDisplay("<%# DataBinder.Eval(Container.DataItem, "JobCode")%> "); '
Run Code Online (Sandbox Code Playgroud)

使用如上所述.