Q:

Desabilitar <asp:Button após ser clicado

Projeto em: WebForm, C#, ASP.net
Preciso desabilitar o botão após ser clicado. Hoje ele está assim:
<asp:Button ID="btn_Enviar" runat="server" CssClass="btn btn-primary" Text="Enviar" OnClick="btn_Salvar_Click" data-loading-text="Salvando..." Width="164px" />

Tentei na chamada btn_Salvar_Click
btn_Enviar.enabled = false;

Mas não funcionou. Tentei chamar um JavaScript para desabilitar e na melhor das hipóteses ele desabilitou mas não postou (submit).
Como fazer?

Complementando:
Quando a pessoa clica no botão para salvar o formulário, o sistema demora alguns segundos, fazendo com que a pessoa clique mais uma vez e outra, quando vou ver o sistema cadastrou vários produtos! Por isso gostaria que ao clicar uma única vez, o botão seja desabilitado, assim evito de vários cadastros. Se não conseguir fazer terei que fazer uma lógica para verificar se o produto já foi cadastrado.

A:

É que o evento do button_Click não pode interferir no comportamento do botão, então tem que ser outro evento pra modificar esse botão.
Coloque no Page_Load do seu Code Behind o seguinte:
btn_Enviar.Attributes.Add("onclick", " this.disabled = true; " + ClientScript.GetPostBackEventReference(btn_Enviar, null) + ";");

