IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Garder ouvert une div (avec id qui change) après postback


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 32
    Points : 32
    Points
    32
    Par défaut Garder ouvert une div (avec id qui change) après postback
    Bonjour,

    Alors voilà j'ai une div qui change d'id en fonction de la ligne en cours d'une grille. "Affiché" comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="<%# Eval("refart") %>"  style="display: none; position: relative">
    Le clique sur une imagebutton de ma grille parent me permet d'ouvrir la grille enfant en fonction de Eval("refart") récupérer de la grille parent.

    Je change le display de ma div lors du clique sur l'imagebutton de ma grille parent avec un code javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    	<script language="JavaScript" type="text/javascript">
    		var currentlyOpenedDiv = "";
    		function CollapseExpand(object) {
    		    var div = document.getElementById(object);
     
    			if (currentlyOpenedDiv != "" && currentlyOpenedDiv != div) {
    			    currentlyOpenedDiv.style.display = "none";
                    			}
    			if (div.style.display == "none") {
    				div.style.display = "inline";
    				currentlyOpenedDiv = div;
                    			}
    			else {
    			    div.style.display = "none";
                    			}
    		}
     
    	</script>
    Et le code de l’évènement RowDataBound :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      If e.Row.RowType = DataControlRowType.DataRow Then
                Dim STR_CodArticle As String = e.Row.Cells(1).Text
     
                Dim O_ As Object = e.Row.Cells(6).Controls(1)
                Dim IMG_Nomenclature As Image = DirectCast(O_, Image)
                IMG_Nomenclature.Attributes.Add("onclick", "javascript:CollapseExpand('" & STR_CodArticle & "')")
     
            End If
    Le problème est que l'imagebutton utilise un rowcommand pour lancer la procédure qui va peupler ma grille enfant. Et bien sur ce rowcommand va lancer un postback. Et lors de ce postback cela va réinitialiser ma div pour la remettre en display : "none" .

    Ma question est donc comment garder l'état de ma div en cours sachant que son id change en fonction de la ligne de la grille parent après un postback.

    Merci d'avance Je sèche totalement

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    Bon j'arrive à récupérer mon id de ma div grâce à un HiddenField "glissé" en dessous de ma div.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <asp:HiddenField ID="HiddenField1" runat="server" Value='"<%# Eval("refart") %>"' />
    Dans mon événement RowCommand je récupère mon hiddenField

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim HF As HiddenField = CType(row.FindControl("HiddenField1"), HiddenField)
                    If HF.Value IsNot Nothing Then
                        Dim STR_IdDiv as String = HF.Value
                    End If
    Pour l'instant ok ca fonctionne, j'ai bien l'id dans ma chaine STR_IdDiv. Mais comment faire pour récupérer son état inline ou none en même temps ?

Discussions similaires

  1. [1.x] Charger une div avec remote_function
    Par Nimothenicefish dans le forum Symfony
    Réponses: 5
    Dernier message: 11/08/2009, 16h44
  2. Réponses: 5
    Dernier message: 25/08/2008, 18h31
  3. Problème avec Decimalseparator qui change dans mon dos
    Par Cavadore dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2008, 16h11
  4. Une variable de session qui change
    Par zsoh dans le forum Langage
    Réponses: 5
    Dernier message: 02/09/2007, 20h03
  5. Problème de hauteur d'une div avec background
    Par Yoteco dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/01/2007, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo