El mismo botón se deshabilite? Y porque no funciona, ese código está bien te sale algún error?
No sé en que escenario te encuentras pero por javascript creo que podría complicarse posteriores acciones ya que el código del lado del cliente se ejecuta antes que el del servidor.
En todo caso sería así:
Código:
<script type="text/javascript">
function desactivaControl()
{
document.getElementById('<%=ImageButton1.ClientID %>').disabled='disabled';
}
</script>
<asp:ImageButton ID="ImageButton1" runat="server" OnClientClick="desactivaControl()" />
Ojalá te sirva de ayuda