OnClientClick="this.enable=false" skete der ikke noget ved. Ellers har jeg prøvet adskellige kombinationer uden held.
Hvis jeg bruger nedenstående, men ikke enabler knappen kan jeg se det virker. Det oprindelige problem med at databasen blev kaldt flere gange, har jeg fået løst, så brugeren kan ikke ødelægge noget ved at klikke flere gange... lige her. Der er nemlig flere steder hvor det skaber problemer og da systemet kører ekstremt langsom ville det være rart at kunne disable eller skrive "arbejder.." på knappen.
Problemet tror jeg ligger i en masse postback der bliver udført. Det er en popup med pageview og tabs indeholdende iframes plus kilometerlang kode og det er noget rigtig skidt.
Udenfor denne popup har jeg løst problemet sådan i Page_load:
Button1.Attributes.Add("onclick", " this.disabled = true; "+ ClientScript.GetPostBackEventReference(Button1,null)+";");
http://forums.asp.net/t/1061648.aspx.. og det virker fint.
Du har hjulpet meget selvom problemet endnu ikke er løst, så du må sige til når du giver op, så vil jeg give dig point og håbe du måske kan hjælpe igen senere i en anden tråd.
Kan du fortælle mig forskellen på
LinkButton lb = (LinkButton)sender
lb.enable = false/true
og
LinkButtonEdit.Enable = false/true
??
Sådan er status, der ikke virker:
private void LinkButtonEdit_Click(object sender, System.EventArgs e)
{
if(editMode)
{
LinkButtonEdit.Enabled = false;
// LinkButtonEdit.Text = "Arbejder...";
if(SaveActivity())
{
activity = GetActivity(activity.ActivityID);
LabelOfferVat.Visible = false; LabelOfferRejectVat.Visible = false;
LinkButtonEdit.Text = "Rediger";
HyperLinkPrint.Visible = true;
editMode = false;
loadData = true;
}
else
{
loadData = false;
}
}
else
{
LinkButtonEdit.Text = "Gem";
HyperLinkPrint.Visible = false;
editMode = true;
loadData = true;
}
LinkButtonEdit.Enabled = true;
}