2010-08-24 11 views
2

J'ai un bouton standard asp et cliquez sur il déclenche:ASP.NET - Comment puis-je changer la position d'une image de fond quand on clique sur un bouton?

protected void btnDealItem_Click(object sender, EventArgs e) 
{ 
    divMyDiv.Style.Add("background-position", "70px 0"); 
} 

Le problème est, lorsque le bouton est cliqué sur le fond ne se déplace pas 70 pixels vers la droite.

Est-ce la bonne façon de procéder ou s'agit-il d'une question de syntaxe?

+0

Comment allez-vous avec ce Luke? –

Répondre

1

Vous pouvez le faire sur le clientside avec JQuery: http://jquery.com/

Je suppose de votre code que vous ne voulez pas faire quoi que ce soit d'autre avec l'événement de clic du bouton. La ligne return false; empêche le bouton d'afficher la page en arrière.

$(document).ready(function() { 
    $("#" + <%= btnDealItem.ClientID %>).click(function() { 
      $(this).attr("style", "background-position:70px 0;"); 
      return false; 
    }); 
}); 

ou

<style> 
    .backgroundshift { 
     background-position: 70px 0; 
    } 
</style> 


$(document).ready(function() { 
    $("#" + <%= btnDealItem.ClientID %>).click(function() { 
      $(this).addClass("backgroundshift"); 
      return false; 
    }); 
}); 
0

Le problème est que le style est défini sur le côté serveur Une fois le bouton cliqué. Le scénario simplifié est le suivant:

  1. Le serveur affiche la page pour la première fois.
  2. L'utilisateur clique sur le bouton.
  3. Le serveur appelle l'événement button_click.
  4. Le serveur affiche la page.
  5. L'utilisateur peut voir le bouton avec la position de l'image d'arrière-plan modifiée.

Si vous souhaitez effectuer la modification immédiatement après avoir cliqué sur le bouton, utilisez le script côté client via le script java.