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 de rafraichissement de page - logique


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut probleme de rafraichissement de page - logique
    Salut! j'ai un petit probleme.. un bug mineur en fait..
    J'ai une page qui liste des mp3 et affiche le nbEcoute a chaque rangée qui augmente quand on click sur le boutton download

    Voici des bouts de code :

    Mp3main.aspx.cs
    Page_Load :
    ConstruireListeInfo();
    ConstruireTable();

    //dans ConstruireTable(); j'ajoute dynamiquement un boutton auquel je donne un ID unique. Quand no clique sur le bouton, L'évênement Download_Click() se produit. Jusqu'ici c'Est tjr bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            private void Download_Click(object sender, ImageClickEventArgs e)
            {
                const string strDown = "download";
                string imageID = ((ImageButton)sender).ID; 
                imageID = imageID.Substring(strDown.Length, imageID.Length - strDown.Length);
     
                string user = imageID.Substring(0, imageID.IndexOf("-"));
                string nomFichier = imageID.Substring(user.Length + 1, imageID.Length - user.Length - 1);
     
                IncrémenterDownload(user, nomFichier);
     
                Response.Redirect("download.aspx" + "?fichier=/music/" + user + "/" + nomFichier);
            }
    Super facile, je prend le ID, format une string et envoie le tout au URL a la page de download

    The download 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
            protected void Page_Load(object sender, EventArgs e)
            {
                string filepath = Request.QueryString["fichier"];
     
                if (filepath != null)
                {
                    string fullfilepath = Server.MapPath("~/" + filepath);
                    FileInfo download = new FileInfo(fullfilepath);
                    if (download.Exists)
                    {
                        Response.ClearContent();
                        Response.AddHeader("Content-Disposition", "attachment; filename=" + '"' + download.Name + '"');
                        Response.AddHeader("Content-Length", download.Length.ToString());
                        Response.ContentType = "audio/";
                        Response.WriteFile(download.FullName);
                        Response.End();
                        //Response.Redirect("mp3uloadmain.aspx"); NE FAIT RIEN
                    }
                    else
                        lbl_download.Text = "OOPS! Le fichier n'existe plus!";
                }
                else
                    lbl_download.Text = "Faut pas esseyer de m'entourlouper...";
            }
    Les mp3 affichent, le btn download aussi. on click, et le gestionnaire de téléchargement apparait and IE et FF. Mon probleme est que le NbÉcoute ne s'incrémente pas puisque la page ne se rafraichie pas

    Pourquoi? Page_Load de mp3main.aspx.cs s'executte avant l'évênement Download_Click.... X_o

    Voici un exemple live pour vous donner une meilleure idée
    Mp3ULoad
    utilisez le compte aa/aa et amusez-vous alentour..
    Vous allez arriver a la page principale apres le login et vous verrez que le NbÉcoute ne s'inscrémente que si vous rafrachissez la page manuellement

    Merci de votre aide!

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par Jahren Voir le message
    Pourquoi? Page_Load de mp3main.aspx.cs s'executte avant l'évênement Download_Click.... X_o
    Parce que c'est comme ça que ça fonctionne.
    Si tu veux pas traiter une partie de ton code suite à un PostBack, mets la entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if !IsPostBack
    {
    ...
    }

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut
    j'vais esseyer de mettre cette vérification et de rapeller une méthode qui contiendra les instructions de Page_Load dans Download_Click
    merci

    edit : ce n'est pas une solution :S car je construit dynamiquement le contenu..
    si cest un postback, il construit pas la liste de mp3
    j'apelle la methode qui contient ce que Page_Load faisait a partir de Download_click. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(!IsPostBack)
      PageLoadConstruction();
    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
     
           private void Download_Click(object sender, ImageClickEventArgs e)
            {
                const string strDown = "download";
                string imageID = ((ImageButton)sender).ID; //on récupère le contenu du id recu
                imageID = imageID.Substring(strDown.Length, imageID.Length - strDown.Length);
     
                string user = imageID.Substring(0, imageID.IndexOf("-"));
                string nomFichier = imageID.Substring(user.Length + 1, imageID.Length - user.Length - 1);
     
                IncrémenterDownload(user, nomFichier);
     
                PageLoadConstruction(); //NOUVEAU ICI
     
                Response.Redirect("download.aspx" + "?fichier=/music/" + user + "/" + nomFichier);
            }
    en bref, j'ai besoin d'une novuelle logique :S

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Par défaut
    mais weuh... c'est tjr encours, j'ai tjr besoin d'aide sur ce cas :S

  5. #5
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par Jahren Voir le message
    mais weuh... c'est tjr encours, j'ai tjr besoin d'aide sur ce cas :S
    Personnellement j'ai pas compris ton problème, il télécharge bien ton fichier non?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut


    Et tu voudrais pas faire un download en 2 temps ?

    Tu sélectionnes une ligne dans la grille, ce qui t'affiche une calque en survol ou à côté de la grille. Ce calque contient un petit apercu de ce fichier (description, etc...), puis un bouton download pour confirmer.

    Ou alors, si tu veux une incrémentation au moment du download, passer par une iframe ? (meme si c'est pas beau...)

    A+

Discussions similaires

  1. [MySQL] Probleme de rafraichissement de page - Pourquoi ?
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/02/2008, 13h12
  2. Problème de mise en page
    Par cinezone dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 02/10/2004, 21h31
  3. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  4. Probleme de rafraichissement
    Par glRaZ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 14h07
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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