When I use embedded javascript functions I can get client id of elements with this code:
document.getElementById('<%=buttonXXX.ClientID%>' )
But now I am using external javascript file for caching and faster rendering and this code does not work any more for getting client id's of elements, it gives error.
How can I get client id's of elements at external javascript file using asp.net 2.0 , netframework 3.5 , c# , iis 7.5
I can suggest 2 ways.
define your variables before call the javascript, inside the .aspx file that can be compiled.
var ButtonXXXID = <%=buttonXXX.ClientID%>
// and now include your javascript and use the variable ButtonXXXID
in the external javascript file, write your code as:
function oNameCls(ControlId1) {
this.ControlId1 = ControlId1;
this.DoYourWork1 = function() {
// use the control id.
// this.ControlId1
}
}
And call your actions like.
<script>
// init - create
var <%=this.ClientID%>MyCls = new oNameCls('<%=Control1.ClientID%>');
// do your work
<%=this.ClientID%>MyCls.DoYourWork1();
</script>
calling the action this way you prevent overwrite one action from one control with the same action from other controls on the same page.