I'm trying to call javascript function from a href . the function has a parameter which will be retrieved by the eval function . But some error occurs .
script:
function rate(id) {
// do something
}
the a tag that will call the function:
<a href="javascript:rate(" + <%#Eval("ID")%> + ")" >rate</a>
What am I missing ?
You shouldn't be doing it like this, but the issue you're currently up against is probably is your quoting/concatenating.
If <%#Eval("ID")%>
simply produces an INT, this should work:
<a href="javascript:rate( <%#Eval("ID")%> )" >rate</a>
If it's a string,
<a href="javascript:rate( '<%#Eval("ID")%>' )" >rate</a>
should do it for you, although you need to handle the case of <%#Eval("ID")%>
producing anything with a single quote in it.
A Lesson:
I say you shouldn't be doing it like this because the javascript pseudo protocol (javascript:
) is defunct and improper. At worst you should be using an onclick
which returns false. Ideally you'd be assigning the event programatically and preventing the event object's default action.