begin process at 2010 09 09 11:17:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Scripting

 > 

Javascript

 > 

Masquer div si postback


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Masquer div si postback

vendredi 13 mars 2009 à 17:34:32 | Masquer div si postback

jostag

Bonjour a tous,

voila sur une de mes pages asp.net (c#) il y a quelque div que je cache grâce a des radioboutons,
j'ai aussi un gridview avec sélection (génère un postback).

Ce que je voudrais c'est que lorsque la page éxécute un postback que se sois le div du dernier bouton radio sélectionner.

En fait j'ai déjà une partie de code toutefois elle ne marche pas , j'ai toujours lors du postback le div que je ne cachais pas au début :

if(Page.IsPostBack)
        {
            string idRbtn = "";
            string divAfficher = "";
            if (rbtnIU.Checked == true) { idRbtn = rbtnIU.ID; divAfficher = "divU"; }
            else if (rbtnA.Checked == true) { idRbtn = rbtnA.ID; divAfficher = "divA"; }
            else if (rbtnR.Checked == true) { idRbtn = rbtnR.ID; divAfficher = "divR"; }
            else if (rbtnL.Checked == true) { idRbtn = rbtnL.ID; divAfficher = "divL"; }
            else if (rbtnG.Checked == true) { idRbtn = rbtnG.ID; divAfficher = "divG"; }

            String sb = "";
            sb += ("function affichageDiv() {");
            sb += ("document.getElementById('divA').style.display = 'none';");
            sb += ("document.getElementById('divUr').style.display = 'none';");
            sb += ("document.getElementById('divR').style.display = 'none';");
            sb += ("document.getElementById('divG').style.display = 'none';");
            sb += ("document.getElementById('divLs').style.display = 'none';");
            sb += ("document.getElementById('" + idRbtn + "').checked = 'checked';");
            sb += ("document.getElementById('" + divAfficher + "').style.display = 'block'; }");

            this.Page.ClientScript.RegisterStartupScript(Page.GetType(), "affichageDiv", sb, true);
        }

J'ai vérifié plusieurs fois c'est les bon id de div etc.

-----------------------------------------------------------------------------------------------
Jo
vendredi 13 mars 2009 à 19:02:27 | Re : Masquer div si postback

fabienfs

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Hello,

Au lieu d'injecter du Javascript pour afficher ou cacher tes div, je te conseil d'utiliser le contrôle "Panel" d'ASP.net qui est fait pour ca.

Après dans le code-behind pour afficher ou masquer ton panel (div), tu utilises simplement TonPanel.Visible = False;

A++


Fabien Schenkels (alias fabienfs)
vendredi 13 mars 2009 à 20:22:57 | Re : Masquer div si postback

jostag

Merci,

c'est sur que sa ne fait pas le même effet (j'aime bien l'espèce d'effet déroulant des div quand on les affiches ou masque) mais bon c'est pas pour l'effet que je fais le projet alors je crois que je vais prendre ta solution.
vendredi 13 mars 2009 à 20:39:48 | Re : Masquer div si postback

jostag

Réponse acceptée !
J'y pense si quelqu'un connais une solution avec le javascript et les div j'aimerais aussi la connaitre puisque je commence à l'apprendre (le javascript) et j'apprécirais beaucoup

Merci encore fabienfs sa marche comme je voulais
mercredi 18 mars 2009 à 01:06:19 | Re : Masquer div si postback

ggtry

Réponse acceptée !
Bonsoir,

Si tu continues à faire un postback, la solution de fabienfs reste bien entendu la meilleure, et t'évitera le problème de la persistance de l'état de ta page, qui se posera en js dès que tu feras un postback.
(Pour ce que tu voulais faire au début,  tu pouvais simplement appeler ta fonction js lors du load, en mettant runat=server sur ton body en lui donnant un id (ici, "bd"), et écrire en plus :
bd.Attributes.Add("onload","affichageDiv()"); (mais c'est juste pour le signaler...))
Sinon, si tu n'as pas besoin de postback, tu peux tout faire en js. Il suffit de mettre un test sur tes radiobuttons (tu peux ajouter l'appel sur le onload de ta page, en c# avec attributes.add ;, en le mettant sur l'événement onclick de tes radiobuttons, et en supprimant l'autopostback). Tu peux écrire directement ta fonction js dans ta page ou dans un fichier appelé, et masquer les div selon ton besoin.
Dans ce cas (mais comme dans l'autre, puisque c'est du javascript), n'oublie pas que les modifications client ne seront pas reportées directement côté serveur : d'où le grand intérêt du panel, car dès que tu auras un postback, les div cachées réapparaîtront.
Cela dit, si tu veux éviter un retour serveur lorsque tu veux seulement masquer une div, tu peux signaler en js quelles div doivent être masquées (ou affichées) dans un hiddenfield asp, que tu pourras traiter lors du postback dans ton code c#.
En bref, cela dépend pas mal de ce que tu fais : si tu dois faire un postback systématique, le panel est le mieux (mais pour la fluidité, éventuellement, regarde alors du côté de l'ajax). Sinon, si tu veux seulement cacher tes div, le js sera très bien.

GGtry
mercredi 18 mars 2009 à 15:55:34 | Re : Masquer div si postback

jostag

Réponse acceptée !
Merci GGtry !!

en fais le seul problème que me pose le postback c'est que j'ai certaine information que ne s'affiche pas comme il faut puisque j'ai du modifié mon affichage pour la n ième fois.

sinon je vais regarder ce que tu m'as dis plus tard (et ajax je connais pas)
mercredi 18 mars 2009 à 17:10:07 | Re : Masquer div si postback

ggtry

Réponse acceptée !

Salut,

Une précision : pour le hiddenfield, j'ai dit n'importe quoi : en fait, puisque tu as des radiobuttons, il suffit de récupérer les valeurs de ceux-ci lors du postback. Tu peux d'ailleurs faire des panel côté asp : ceux-ci sont rendus en html par un div. De cette façon, tu peux les masquer comme des div en pur javascript, et en cas de postback tu récupères le radiobutton coché et tu masques ce qui doit l'être (dans ce cas, avec la propriété style et display, parce que visible false ne te permettrait plus de récupérer les panels en js).

GGtry



Cette discussion est classée dans : document, checked, sb, idrbtn, divafficher


Répondre à ce message

Sujets en rapport avec ce message

Ecrire un document Word en ASP [ par Frodo ] Est-ce possible d'écrire un document WORD à partir d'une page ASP.Si oui peut-on y inclure des tableaux???MerciFrodo comment ouvrir un document avec une autre application que le navigateur [ par spinout ] Quand par exemple, je clique sur un lien vers un document power point, je voudrais déclencher l'ouverture de powerpoint. Pour l'instant, il lance un i Inclure un document word à une page ASP [ par Etienne ] Salut, je voudrais inclure un document word quelconque a une page ASP. Je ne sais pas trop comment faire alors si vous saviez m'aider.Merci d'avance ASP et WORD [ par TOFF ] BonjourComment ouvrir un document word dans une page ASP et recupérer toutes les commandes lier à ce document.J'ai un document word qui fait un publip import de données issues d un document excel [ par songes ] je doit importer des données qui sont contenues dans un document excel là pas de problème sur la démarche.Mon problème réside dans le fait que j ai un PB : 1 même formulaire pour 2 actions différentes [ par Nicolas ] Hello,J'ai un seul formulaire mais l'utilisateur a la possibilité de cliquer sur 2 boutons ("envoyer1" ou "envoyer2") pour un traitement différent (ac Cherchez l'erreur ? [ par Fabs242 ] Salut, Quelqu'un aurait une idée sur le fait que ça : function majmoteur() { var mot=document.moteur.MOT.value; alert(mot) ; document.moteur.words.val Document.Last.Modified [ par ewadrel ] Hello,quelqu'un saurait-il comment afficher la date de derniere modification d'une page ? Mais ATTENTION ! Pas celle de la page en cours (document.las probleme d'ouverture d'un .doc sous ie avec asp.... [ par Cyril ] Bonjour,J'ai un document word avec une macro qui realise unefusion automatique au demarrage.Je veux ouvrir se document word dans internet explorer j'a trasformation word en pdf [ par ronan ] Bonjour, je souhaite transformer un document word qui est sur mon serveur en un document pdf.Acrobat writer est installé sur le serveur.Quelqu'un as t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales