提问人:Dhaust 提问时间:8/5/2008 最后编辑:LiHDhaust 更新时间:12/19/2020 访问量:23398
三重报价?如何在 ASP.NET 中分隔数据绑定的 Javascript 字符串参数?
Triple Quotes? How do I delimit a databound Javascript string parameter in ASP.NET?
问:
如何在锚点事件中分隔 Javascript 数据绑定字符串参数?OnClick
- 我在 ASP.NET Repeater 控件中有一个锚标记。
- 锚点的事件包含对 Javascript 函数的调用。
OnClick
- 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 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>
答:
3赞
Grant
8/5/2008
#1
如果输入字符串参数周围没有额外的引号,Javascript 函数会认为我传入了一个整数。
你能做一些基本的字符串函数来强制 JavaScript 将其更改为字符串吗?喜欢
value = value + ""
1赞
Shawn
8/5/2008
#2
尝试将多余的文本放在服务器端脚本块中并连接起来。
onclick='<%# "ToggleDisplay(""" & DataBinder.Eval(Container.DataItem, "JobCode") & """);" %>'
编辑:我很确定您也可以在脚本块之外使用双引号。
32赞
lubos hasko
8/5/2008
#3
我最近遇到了类似的问题,解决它的唯一方法是对单引号 () 和双引号 () 使用普通的旧 HTML 代码。'
"
当然,源代码一团糟,但它奏效了。
尝试
<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>
评论
0赞
Dhaust
2/8/2010
温娜!!谢谢Lubos。HTML 代码对它进行了排序(是的,它很乱,但它有效)。解决方案:onclick='ToggleDisplay(”<%# DataBinder.Eval(Container.DataItem, “JOB_Code”) %>“);'
2赞
emeh
1/11/2011
"是双引号。'是单引号
1赞
sony
3/12/2009
#4
将变量传递给不带单引号或双引号的函数
<html>
<head>
</head>
<body>
<script language="javascript">
function hello(id, bu)
{
alert(id+ bu);
}
</script>
<a href ="javascript:
var x = "12";
var y = "fmo";
hello(x,y)">test</a>
</body>
</html>
6赞
vishal
4/28/2009
#5
onclick='javascript:ToggleDisplay("<%# DataBinder.Eval(Container.DataItem, "JobCode")%> "); '
如上所述使用。
评论