Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Lorsque je fais Response.Redirect("page.aspx", false), il n'en tient pas compte, pourquoi?
auteur : Didier Danse
Le deuxième paramètre signifie "faut-il interrompre le traitement en cours avant de faire la redirection?".

Ainsi, si le paramètre est false, il attend la fin du traitement de la page. Si un autre appel de la méthode Response.Redirect est présent c'est ce dernier qui sera pris en compte.

Un exemple qui code qui ne donnera pas le résultat souhaité:

Try
' Traitements
Catch generatedExceptionVariable0 As Exception
Response.Redirect("error.aspx", False)
End Try
Response.Redirect("ok.aspx", False)
En cas d'exception, on lui signale qu'il doit faire une redirection vers la page d'erreur à la fin du traitement et puis on lui dit de faire la redirection vers ok.aspx. Ce sera donc vers cette page que la redirection sera effectuée.


Lorsque je fais Response.Redirect, j'ai toujours une exception qui dit "thread abandonné", pourquoi?
auteur : Didier Danse
Le Response.Redirect permet de rediriger un utilisateur vers une autre page. On l'utilise, par exemple, de la manière suivante:

If Session("Username") Is Nothing Then
Response.Redirect("page.aspx")
End If
Ce qui signifie que si l'utilisateur n'est pas connecté, il est redirigé vers la page spécifiée. Le résultat n'est pas toujours celui attendu car il se peut que la méthode lance une exception dont le message est "Le thread a été abandonné". ... A COMPLETER


Utiliser Server.Transfer ou Response.Redirect ?
auteur : Didier Danse
Response.Redirect envoie au navigateur client l'adresse de la page vers laquelle il doit être redirigé tandis que Server.Transfer permet d'exécuter le contenu d'une page sans pour autant avoir effectué un retour vers le client.
Dès lors, n'utilisez pas Server.Transfer si vous attachez de l'importance au fait que l'adresse présente dans votre navigateur soit la bonne.
A noter que si vous souhaitez utiliser Server.Transfer pour supprimer l'exception due au Response.Redirect, ce n'est à nouveau pas la bonne solution.
Préférez la méthode Execute(path, null, preserveForm) en ayant au préalable effectué un Response.Clear().


Comment améliorer les performances en empêchant d'envoyer toute la page lors d'une redirection ?
auteur : Didier Danse
En ajoutant

 
Protected Overrides Sub Render(Output As HtmlTextWriter)
	If Not Response.IsBeingRedirected Then
		Base.Render(writer)
    End If
End Sub
		
		
Sur les pages que vous souhaitez. Bien entendu, si vous utilisez une master page, n'hésitez pas à placer cet élément dans la MasterPage, ce qui aura comme impact de réaliser l'opération dans chacune des pages.


precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2007  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com