Triple Quotes? How do I delimit a databound Javascript string parameter in ASP.NET?

Posted by David HAust on Stack Overflow See other posts from Stack Overflow or by David HAust
Published on 2008-08-05T04:05:53Z Indexed on 2010/03/19 6:51 UTC
Read the original article Hit count: 339

Filed under:
|
|
|

How do I delimit a Javascript databound string parameter in an anchor OnClick event?

  • I have an anchor tag in an ASP.NET Repeater control.
  • The OnClick event of the anchor contains a call to a Javascript function.
  • The Javascript funciton takes a string for it's input parameter.
  • The string parameter is populated with a databound value from the Repeater.

I need the 'double quotes' for the Container.DataItem.
I need the 'single quotes' for the OnClick.

And I still need one more delimiter (triple quotes?) for the input string parameter of the Javascript function call.

Since I can't use 'single quotes' again, how do I ensure the Javascript function knows the input parameter is a string and not an integer?

Without the extra quotes around the input string parameter, the Javascript function thinks I'm passing in an integer.

Cheers in advance for any knowledge you can drop.

The anchor:

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

and here is the 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>

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about JavaScript