Тройные цитаты? Как разграничить строковый параметр Javascript привязки к данным в ASP.NET?
Как разграничить строковый параметр с привязкой к данным Javascript в OnClick
событии привязки ?
- У меня есть тег привязки в элементе управления 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>
И вот мой 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>
Ответов (5)5
У меня недавно была аналогичная проблема, и единственный способ ее решить - использовать простые старые 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>