¿Cómo delimito un parámetro de cadena de datos de JavaScript en un evento de anclaje OnClick
?Triple Quotes? ¿Cómo delimito un parámetro de cadena de Javascript enlazado a datos en ASP.NET?
- Tengo una etiqueta de anclaje en un control de ASP.NET Repeater.
- El evento
OnClick
del ancla contiene una llamada a una función de Javascript. - La función Javascript toma una cadena para su parámetro de entrada.
- El parámetro de cadena se rellena con un valor de datos del Repetidor.
Necesito las "comillas dobles" para el Container.DataItem
.
Necesito las 'comillas simples' para OnClick
.
Y aún necesito un delimitador más (¿comillas triples?) Para el parámetro de cadena de entrada de la llamada a la función Javascript.
Dado que no puedo usar 'comillas simples' de nuevo, ¿cómo me aseguro de que la función Javascript sabe que el parámetro de entrada es una cadena y no un número entero?
Sin las comillas adicionales alrededor del parámetro de cadena de entrada, la función de Javascript cree que estoy pasando en un entero.
Saludos por adelantado por cualquier conocimiento que pueda soltar.
El ancla:
<a id="aShowHide" onclick='ToggleDisplay(<%# DataBinder.Eval(Container.DataItem, "JobCode") %>);' >Show/Hide</a>
y aquí está el 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>
Winna !!! Gracias Lubos. Los códigos HTML lo ordenaron (y sí, fue complicado, pero funciona). Solución: onclick = 'ToggleDisplay (" <% # DataBinder.Eval (Container.DataItem, "JOB_Code")%> ");' – Dhaust
" es una comilla doble. ' es una comilla simple – Mahesh