OVH Cloud OVH Cloud

Temporisation avant redirection

6 réponses
Avatar
Damien
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien

6 réponses

Avatar
Delf
Damien wrote:

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...



P'tre en utilisant la librairie Ajax.NET pour faire des pages Web
dynamiques sans rafraichissement (pour le message, puis redirection).

--
Delf
Do not use this email in Cc!
L'homme n'est que poussière. La femme est aspirateur.
Avatar
Patrice
Je pense que le problème est un mélange entre ce qui se fait sur le serveur
et le client.

Que se passe t'il si tu fait la readirection sur le serveur ?

--

"Damien" a écrit dans le message de
news:43fcc402$0$689$
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien




Avatar
Patrice
Je pense que le problème est un mélange entre ce qui se fait sur le serveur
et le client.

Que se passe t'il si tu fait la readirection sur le serveur ?

--

"Damien" a écrit dans le message de
news:43fcc402$0$689$
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien




Avatar
Patrice
Pour être plus clair, je pense que le problème n'est pas le Thread.Sleep
mais un problème entre ce qui est exécuté sur le serveur et ce qui est
exécuté sur le client (notamment le response.redirect n'est pas compatible
avec l'envoi de code HTML vers le client).

Je voulais dire qu'il faudrait donc peut-être gérer cette redirection sur le
*client*

Sinon explique un peu plus ce que tu as essayé et ce que tu obtiens comme
résultat (je pense que tu ne vois pas le message intermédiaire ?)

Personnellement j'afficherai peut-être plutôt le message sur la page
suivante...
--
Patrice

"Damien" a écrit dans le message de
news:43fcc402$0$689$
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien




Avatar
Patrice
Pour être plus clair, je pense que le problème n'est pas le Thread.Sleep
mais un problème entre ce qui est exécuté sur le serveur et ce qui est
exécuté sur le client (notamment le response.redirect n'est pas compatible
avec l'envoi de code HTML vers le client).

Je voulais dire qu'il faudrait donc peut-être gérer cette redirection sur le
*client*

Sinon explique un peu plus ce que tu as essayé et ce que tu obtiens comme
résultat (je pense que tu ne vois pas le message intermédiaire ?)

Personnellement j'afficherai peut-être plutôt le message sur la page
suivante...
--
Patrice

"Damien" a écrit dans le message de
news:43fcc402$0$689$
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien




Avatar
Damien
Hello,

Effectivement, je ne vois pas le message intermédiaire et la fenêtre est
redirigée.

Finalement, j'affiche le message quelques secondes sur une autre page
(wait.aspx)
grâce à :

'-- wait.aspx
<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=ProcessTheData.aspx">
</HEAD>

En fait, c'est dans un contrôle .ascx, et j'ajoute le Header "Refresh"
dynamiquement via
Response.AddHeader "Refresh", "5; URL=ProcessTheData.aspx"

Merci en tout cas de votre aide

Damien


"Patrice" a écrit dans le message de news:

Pour être plus clair, je pense que le problème n'est pas le Thread.Sleep
mais un problème entre ce qui est exécuté sur le serveur et ce qui est
exécuté sur le client (notamment le response.redirect n'est pas compatible
avec l'envoi de code HTML vers le client).

Je voulais dire qu'il faudrait donc peut-être gérer cette redirection sur
le
*client*

Sinon explique un peu plus ce que tu as essayé et ce que tu obtiens comme
résultat (je pense que tu ne vois pas le message intermédiaire ?)

Personnellement j'afficherai peut-être plutôt le message sur la page
suivante...
--
Patrice

"Damien" a écrit dans le message de
news:43fcc402$0$689$
Hello,

Bonjour à tous

Dans un contrôle ascx, sur le click() d'un bouton, je souhaite :

1 - effectuer un traitement (pas forcément long),
2 - afficher un message à l'utilisateur quelques secondes
(le résultat du traitement) dans un Label par exemple
3 - faire un Response.Redirect(...) vers une autre page.

J'ai bien essayé avec un Thread.Sleep, mais sans succès...

D'avance merci de votre aide

Damien