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

C# Discussion :

windows.open eviter le rechargement


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut windows.open eviter le rechargement
    bonjour.

    Je suis confronté à un problème qui rend mon application web trés lente.
    Je charge un fichier excel dans un gridview via oledb où j'ajoute une commande button permettant d'ouvrir une nouvelle page : voila la fonction qui m'ouvre la nouvelle page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     protected void dg_RowCommand(object sender, GridViewCommandEventArgs e)
        {
     
            if (e.CommandName.ToString() == "Importer")
            {
                int i = Convert.ToInt32(e.CommandArgument);
                Page.Session["ref"] = dg.Rows[i].Cells[1].Text ;
     
                chercherAppelation(i);
     
                Response.Write("<body><script>window.open('ImportationReference.aspx?l=" + i + "');</script></body>");
            }
        }
    cependant response.write recharge la page actuelle et le fichier excel est relativement gros cela me prend donc beaucoup de temps et vu que je dois cliquer environ 600 fois cela risque de me prendre beaucoup de temps... J'ai essayé de trouvé un solution avec response.redirect qui ouvrirai le lien dans une autre page mais apparament c'est impossible. quelqu'un aurait il une solution pour moi permettant d'ouvrir ma page ImportationReference.aspx sans recharger la page ou je clique donc sans utilisé response.write

    Merci d'avance pour votre aide
    COrdialement
    Pierre

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut,

    Citation Envoyé par label55 Voir le message
    cependant response.write recharge la page actuelle et le fichier excel est relativement gros cela me prend donc beaucoup de temps et vu que je dois cliquer environ 600 fois cela risque de me prendre beaucoup de temps...
    Ce qui te prends du temps, ce ne serait pas plutot le page_load de ta fonction ?

    si c'est le cas, tu peux, soit tester si tu es en cours de postback (Page.Ispostback) avant de charger ton fichier excel, soit modifier le code de facon a ce qu'au rendu, tu fasses qq chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void maGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           string id = e.Row.DataItem(0).ToString;
            Button bt =(Button)e.Row.FindControl("monBouton");
            bt.Attributes.Add("onclick", "window.open('ImportationReference.aspx?l=" + id + "')") ;       
        }
    }
    Pas teste, pas verifie, mais ca devrait marcher

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut
    Salut pvialatte,

    Tout d'abord merci pour ta reponse, j'ai tester ce que tu m'as dit de faire mais cela ne fonctionne pas findControle(nombouton) ne retourne rien mais cela vient peut etre du fait que la colonne est un buttonField et non un buton tout cours...
    Je vais continuer à chercher dans ton sens merci pour ton aide
    Cordialement
    Pierre

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 95
    Par défaut
    bon j'ai trouver pourquoi le boutton n'était pas trouvé : je l'ai convertie en templateField puis éditer les propriete du bouton ensuite.
    Merci encore pour ton aide

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

Discussions similaires

  1. Recharger window.opener sans la méthode reload()
    Par Palmic dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/10/2005, 13h08
  2. coordonnées d'une fenêtre avec window.open
    Par neecolas dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2005, 09h08
  3. Problème de titre avec la fonction window.open
    Par kloss dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/04/2005, 18h34
  4. window.opener ____ perdu
    Par camyo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/02/2005, 16h01
  5. QueryString avec window.Open ??
    Par christine dans le forum ASP
    Réponses: 4
    Dernier message: 29/08/2003, 09h27

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