Calling ClientID from aspx
You are calling the JS event ( onchange ), not the server event, so just pass in this.id
<input type="checkbox" id="chbSaveState" runat="server" tabindex="3" onchange="SaveState(this.id)" /> To be clear, this.id and <%=chbSaveState.ClientID%> will return the same value in this case. Since you are calling this on the chbSaveState event, you can simply use the easily accessible JS property here, rather than <%=chbSaveState.ClientID%> , which requires the server to return the identifier that the server generates for this control.