Nazalost, to nije to, iz dva razloga:
1. Vazniji, kad se button.disabled postavi na true, zaustavlja se proces submitovanja. Cak iako ubacis btn.form.submit() nece odraditi kako treba posto ce post back "zaboraviti" koje dugme je pritisnuto i nece biti pozvan server side handler
2. Cak i da kod radi, radice samo za root-kontrole. Ako na formu stavis grid pa u njega button, njegov id vise nece biti Button1, nego neka kobasica tipa GridView1$ctl02$Button1, sto ne mozes znati unapred pre renderovanja grida.
asp.net1.1 je imao neke manuelne korake da se ovo sve resi, u asp.net 2.0 resava se jos elegantnije preko ClientScriptManager-a. Za ovaj primer napravi se sledeca dinamicka kontrola i onda se ona koristi umesto fabricke button kontrole gde god je potreban auto-disable:
Code:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyCustomControls
{
[ToolboxData("<{0}:MyVanishingButton runat=server></{0}:MyVanishingButton>")]
public class MyVanishingButton : Button
{
public MyVanishingButton()
{ }
protected override void OnPreRender(EventArgs e)
{
string postback = Page.ClientScript.GetPostBackEventReference(this, "");
OnClientClick = "this.disabled = true; " + postback;
}
}
}
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić