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 :

changer le postbackurl d'un linkbutton dans le click


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut changer le postbackurl d'un linkbutton dans le click
    Bonjour,

    j'ai un link button.

    dans le click de celui-ci, je voudrais définir le postbackurl de ce bouton.

    Mais j'ai beau donné un lien vers un document qui existe, il ne se passe rien.

    pourtant, lorsque je colle cette url dans la barre d'adresse, on me propose bien d'ouvrir le document.

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut
    Ce que tu demandes est impossible.

    Le mécanisme du postback est justement déclencher au moment du click.
    En gros quand du clique sur le bouton, tu POST les valeurs du formulaire vers une page, puis tu executes les événements de cette page.

    Le postback post généralement sur la même page. Donc en toute logique si tu définis ton postbackurl dans l'évenement click et si tu cliques une deuxième fois sur ce bouton, tu seras redirigé vers la nouvelle page. Attention cependant à la séquence d'éxecution des événements.

    Pour palier à ça, tu peux simplement rediriger vers la nouvelle page à la fin des traitement de ton évenement click :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect([tapage])

  3. #3
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    ok,

    je m'étais dis que peut-être allait il prendre en compte l'assignation avant la redirection...

    Comment puis je aussi définir la cible (_blank pour une nouvelle page par exemple).

    je ne vois pas de propriété Target

  4. #4
    Membre éprouvé
    Inscrit en
    Juin 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juin 2005
    Messages : 110
    Par défaut
    Salut,

    En fait il ne faut pas que tu considère ton linkbutton comme un lien hyperlien mais plutôt comme un bouton submit.

    Si tu regardes le code html généré par le framework tu verras que le href de ton lien fait un javascript:__doPostBack(...).
    Cette fonction fait un submit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    De manière générale, on ne submit pas vers une nouvelle fenêtre.

    Un astuce serait d'ajouter une fonction Javascript qui ouvre une dans une nouvelle fenêtre la page que tu souhaite afficher au moment du click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LinkButton.OnClientClick="[Ta fonction avec des paramètres]"
    Tu peux passer les paramètres en GET et les récupérer dans le page_load de ta nouvelle page. Et ne rien faire dans la page mère...

    A mon avis tu devrais plutôt utiliser un lien tout bête (objet HyperLink) au lien d'un LinkButton et faire passer les paramètre en GET pour faire un redirect le cas échéant. En plus tu pourras de cette manière utiliser le target=_blank et éviter de t'embeter avec le mécanisme de PostBack (C'est pratique mais ça fait pas tout)

    a+

    L.

  5. #5
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    Citation Envoyé par lolo007
    Salut,

    En fait il ne faut pas que tu considère ton linkbutton comme un lien hyperlien mais plutôt comme un bouton submit.
    ok, c'est ca que je ne captais pas...

    je voyais le linkbouton comme un hyperlien, pouvant etre modifié graphiquement et présenté comme un bouton...

    Je vais alors prendre un simple lien.

    merci de tes réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/08/2005, 08h51
  2. Réponses: 8
    Dernier message: 15/07/2005, 14h23
  3. [MFC] changer la hauteur d'une ligne dans un CListCtrl
    Par hiko-seijuro dans le forum MFC
    Réponses: 2
    Dernier message: 01/07/2005, 10h00
  4. changer l'icone d'une page dans la barre d'adresse/bookmark
    Par Draganthyr dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 10/06/2005, 16h03
  5. Réponses: 8
    Dernier message: 14/05/2004, 11h18

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