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

Développement Web avec .NET Discussion :

Problème avec response.redirect


Sujet :

Développement Web avec .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 119
    Points
    119
    Par défaut Problème avec response.redirect
    Bonjour,

    J'ai un petit problème avec la redirection vers un page web : voilà un exemple de code qui illustre mon soucis :

    Une page default.aspx contenant 2 boutons : Valid et Redirec :

    Code du bouton Valid

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
     If (File.Exists(Server.MapPath("log.txt"))) Then
                Dim lines() As String = IO.File.ReadAllLines(Server.MapPath("log.txt"))
     
                Dim tmp As Integer = Convert.ToInt32(lines(lines.Length - 1))
                tmp = tmp + 1
     
                File.AppendAllText(Server.MapPath("log.txt"), Environment.NewLine & tmp.ToString)
            Else
     
                File.WriteAllText(Server.MapPath("log.txt"), "1")
     
    End If
    Code du bouton Redirect :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     Response.Redirect("accueil.aspx")
    Rien de méchant, quand on clique sur le bouton valider on va écrire des données dans un fichier txt et quand on clique sur le bouton redirect on est redirigé vers la page accueil.aspx

    Voilà le code du Page_Load de ma page acceuil.aspx :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
            Threading.Thread.Sleep(3000)
            Response.Redirect("default.aspx")
    On ne fait rien pendant 3 secondes puis on redirige vers la page default.aspx

    Mon problème est le suivant : lorsque l'utilisateur clique sur le bouton Redirect, il n'est pas redirigé tout de suite vers la page acceuil.aspx et tous les composants présent dans la page default.aspx reste accessible. Dans l'exemple donné le bouton Valid reste accessible pendant le chargement de la page accueil.aspx ce qui est génant.

    Est ce qu'il est possible (d'une façon élégante) de faire en sorte que l'utilisateur ne puisse plus accéder aux composants de ma page Default.aspx une fois qu'il a cliqué sur Redirect ?

    Merci d'avance.

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    Tu as deux possibilité en Javascript (avec l'event OnClientClick) :
    - disablé tous les contrôles avant que la requête parte vers le serveur,
    - gérer directement la redirection côté client.

    Bon dev.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 119
    Points
    119
    Par défaut
    Merci pour la réponse :

    j'ai utilisé cette ligne dans le page_load pour palier au problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Redirect.Attributes.Add("onclick", "javascript:"
          + butvalid.ClientID + ".disabled=true;"
          + Page.ClientScript.GetPostBackEventReference(Redirect, null));
    Par contre je ne comprends pas pourquoi entre 2 postback sur une page on peut cliquer sur les boutons de la page sans qu'il n'y ai d'incidence mais par contre pendant un redirect les boutons reste accessibles, c'est étrange non ?

Discussions similaires

  1. [1.0] Pb avec Response.redirect
    Par helios77 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 12h38
  2. [C#] Problème avec Response.Redirect
    Par elbj dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/03/2006, 15h30
  3. Réponses: 2
    Dernier message: 12/09/2005, 15h33
  4. probleme avec Response.Redirect
    Par nicerico dans le forum ASP
    Réponses: 2
    Dernier message: 06/08/2004, 16h21
  5. problème de response.redirect
    Par boucher_emilie dans le forum ASP
    Réponses: 5
    Dernier message: 06/07/2004, 10h10

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