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 :

Utilisation des ancres avec le code C#


Sujet :

ASP.NET

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut Utilisation des ancres avec le code C#
    Bonjour,

    je suis en train de créer un formulaire comportant plusieurs parties successives.
    Comme montré sur la pièce jointe, je voudrais par exemple taper un nom, une moulinette traite tout ça et ressort toutes les informations qui vont bien (en bas de l'image).

    Mais à la validation de la rechercher (bouton Connexion ici), la page se recharge et l'utilisateur doit redescendre pour voir les résultats.

    Comment faire pour qu'à la validation du formulaire, on affiche "page#ancre" et non "page" ?

    Je précise si besoin : la page de traitement est la page elle-même (comme vous pouvez le voir sur l'image jointe), et je n'ai qu'un seul formulaire sur toute la page (avec l'attribut runat="server").

    J'avais tenté d'ajouter à la fin du traitement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("page#ancre");
    mais toutes les données sont perdues. Et vu la quantité, je n'ai pas envie de toutes les sauvegarder une par une (à moins que ça soit la seule solution... ).

    Merci d'avance !

    Alban

  2. #2
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    euh... tu ne veux pas sauver les datas ok mais tu les mets bien quelque part pour faire le traitement ? ou alors, tu fais quelque chose d'assez risqué; i.e. tout passer en dur à ton traitement ?

    C'est possible de voir le code stp ?
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Alors...
    Au clic sur le premier bouton (Connexion) :
    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
    private void btnCnxLnom_ban_Click(object sender, System.EventArgs e)
    {
        // Création des colonnes du DataGrid et de sa première ligne
        // [couic]
        // Exécution de la requête et remplissage d'un DataTable (dt)
        dt = classAffaire.nom2nprsNaff(tbRech_lnom_ban.Text,dt);
        // Stockage et afficahge des données
        ds.Tables.Add(dt);
        dg.DataSource = ds;
        dg.DataBind();
     
        // Sauvegarde du dt pour utilisation ultérieure
        this.getCtxClient().addObject(dt,Constantes.CLE_DATATABLE);
        // Affichage du bouton de sélection de ligne
        btnSelectionner.Visible = true;
        // Redirection
        //Response.Redirect("Affaire.aspx#resutlats");
    }
    Ici, ds est un DataSet et dg un DataGrid.

    Dans le pire des cas, je peux récupérer les données importantes (le getCtxClient() est une méthode "maison" ajoutée au framework).

    Mais quand je veux me déplacer vers l'ancre (ligne commentée), je pers l'affichage du DataGrid...

  4. #4
    Membre chevronné
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Par défaut
    Tu pourrais insérer du JavaScript su style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.location.href='#ancre';
    sur le onload de ton document.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Sur le principe, c'est intéressant !

    Il ne me reste plus qu'à insérer une variable à la place de #ancre que je pilote depuis le code C# (j'aurai plusieurs ancres successives à utiliser).

    Dans le document aspx, j'ai donc inséré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="document.location.href='#<%= Request["ancre"] %>';">
    Il me reste à gérer les variables...
    Je vous tiens au courant de mes recherches / avancées.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Mais en fait, je me complique la vie !
    Puisque le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("page.aspx#ancre");
    fonctionnait exactement pareil

    Par contre, après le clic, j'ai un comportement bizarre... mais ça fera l'objet d'un autre fil.

  7. #7
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    Avant d'ouvrir un nouveau thread, explique ce que tu observes stp.
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    Citation Envoyé par panda31
    Avant d'ouvrir un nouveau thread, explique ce que tu observes stp.
    Finalement... rien.
    L'erreur venait de mon code.
    J'avais tapé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable dt = (DataTable)Suite.De.L.expression
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dt = (DataTable)Suite.De.L.expression
    mais seulement dans une des branches.

    Du coup, j'avais des erreurs bizarres que je croyais un peu aléatoires.

  9. #9
    Membre émérite
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Par défaut
    Ha ben oui forcément !!!

    Ciao
    Michaël Mary
    Consultant PLM dans une société de conseil toulousaine
    Auditeur CNAM-IPST depuis septembre 2008
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    John F. Woods
    mon cv et mon domaine et mon blog
    Aucune question technique par MP, svp

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/01/2007, 11h45
  2. [JMS] Utilisation des "queue" avec JMS
    Par be_tnt dans le forum Java EE
    Réponses: 1
    Dernier message: 01/11/2006, 16h05
  3. [JTABLE] Peut-on utiliser des autoFilters avec une JTable
    Par Nico+10) dans le forum Composants
    Réponses: 3
    Dernier message: 18/09/2006, 19h53
  4. Utilisation des paramètres avec rowsource - 97 et 2003
    Par IntenseM3 dans le forum Access
    Réponses: 1
    Dernier message: 10/05/2006, 09h18
  5. Utiliser des webservices avec nusoap
    Par budiste dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 30/03/2006, 11h56

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