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 :

Probleme avec le width d'un controle


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut Probleme avec le width d'un controle
    Bonjour,

    je ne sais pas si quelqu'un peut m'aider, mais je souhaite changer le width d'un contrôle web au Page Load, cependant le problème est que je veux aller chercher la taille de l'écran client (je la récupère en javascript avec: document.body.clientWidth) cependant je veux pouvoir attribuer cette valeur au contrôle en question lors du pageLoad en code Behind.

    Merci et merci pour l'aide future

    Gabriel Deschênes

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Par défaut
    Tu peux utiliser un champ caché pour y mettre ta valeur et la récupérer par ton code behind par la suite.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut
    Bon j'ai fait la technique du champ caché, cependant je ne comprend pas pourquoi lors du page load coté server la valeur n'est pas visible. Voici mon code: voici ma function javascript qui fais appelle à la valeur du input hidden
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var jsObjet = document.getElementById("hide");
                jsObjet.value = largeurTotalDesktop.toString();
                alert(jsObjet.value);
    De plus cette fonction est appelée comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body class="BODY" onload="javascript:tailleEcran();">
    Voici la balise dans le code dans le HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" id="hide" runat="server" />
    Coté serveur lors du pageLoad:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    webImageViewer.width = hide.Value;
    Mais cependant, je crois savoir pourquoi lors du page load elle ne voit pas la valeur et dites moi si je me trompe. L'appel se fait tout d'abord au serveur (page load c#) pour ensuite terminer sur le coté client (javascript et asp), je sais que ça parait niaiseux, mais si c'est le cas, je ne vois pas aucune solution que de faire un deuxième postback.

    Merci pour l'aide future

    Gabriel Deschênes

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 207
    Par défaut
    en fait il serait préférable d'utiliser les hiddenfields de asp par contre peu importe la manière à laquelle tu vas t'y prendre pour trouver ton élément en javascript il faut que tu utilise la méthode suivante

    javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var hiddenfield = document.getElementById("<%= hidden.ClientID %>")
    Puisque lorsque tu exécute ta page généralement le nom de tes contrôles sont changé par le compilateur voilà pourquoi le but du ClientID.

    Par la suite dans ton code behind vérifie si dans ton page load il trouve la valeur sinon regarde du côté de l'événement Page_PreRender qui est sensiblement le même mais s'exécute juste avant l'affichage de ta page.

    Autrement il t'est aussi possible de modifier ta valeur par javascript en même temps selon tes besoins.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut
    Merci pour le suivi, mais j'ai créé un bouton ASP qui test si la valeur est belle et bien dans la valeur, cependant ce bouton vu qu'il roule coté serveur, il effectue un postback lors de son éxecution et c'est pourquoi que lorsque je clique dessus je PEUX voir la valeur de mon input hidden ayant comme ID hide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void Button1_Click(object sender, EventArgs e)
    {
          TextBox1.Text = hide.Value;
     }
    De ce code, le textbox affiche la valeur de mon input (hide), donc je vais essayer la méthode Page_PreRender et j'éditerai ce post si je réussi d'une maniere ou d'une autre, j'éditerai ce post

    Merci pour l'aide future
    Gabriel Deschênes

Discussions similaires

  1. Probleme avec cursor lors d'un controle
    Par Viscapon dans le forum PL/SQL
    Réponses: 1
    Dernier message: 11/05/2010, 14h28
  2. probleme avec le controle ADODC
    Par Lynecoln dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/03/2007, 18h38
  3. [VB.NET] Probleme avec controle Listbox ??
    Par Aspic dans le forum VB.NET
    Réponses: 4
    Dernier message: 10/11/2005, 13h30
  4. [C#] problem avec repeater control
    Par moniphal dans le forum ASP.NET
    Réponses: 13
    Dernier message: 27/04/2005, 09h27
  5. [VB.Net] Un autre probleme avec controle DropDownList
    Par angelevil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2005, 14h59

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