Salut,
J'ai un problème du style serpent qui se mord la queue entre Transfert et Redirect.
Soit un site applicatif de base (ASP.net 3.5) utilisant l'identification ASP.net, un asp:menu, un web.SiteMap et un asp:SiteMapPath.
Je travaille sur une extension de la gestion des utilisateurs.
Pour se faire, j'ai créé un Repeater qui contient des boutons
Lorsque je suis sur la liste des utilisateurs mon asp:SiteMapPath indique :
SA : Liste des utilisateurs
Mon Url est ~/SA/Utilisateurs.aspx
C'est correct.
Lorsque je clique sur un des boutons du repeater, je veux aller dans la fiche détail de l'utilisateur correspondant à la ligne cliquée.
Je n'ai pas opté pour un changement côté client de la propriété action du formulaire pour éviter les problème de sécurité.
J'ai donc deux options :
Response.Redirect
Server.Transfert
Lorsque j'utilise la première option, mon asp:SiteMapPath indique :
SA : Liste des utilisateurs : Détail utilisateur
Mon URL est ~/SA/Utilisateur/Coord.aspx
C'est correct, problème je n'arrive pas (et c'est normal) à accéder au contexte de la page précédente puisqu'elle est déchargée.
Si en revanche, j'utilise le Server.Transfert mon URL ne change pas, mon
asp:SiteMapPath n'est donc pas remis à jour mais j'accède bien au contexte de ma page précédente avec PreviousPage (ce qui est pratique).
Mon objectif serait de ménager la chèvre et le chou, en d'autres termes :
Soit utiliser un Server.Transfer en forcant le changement d'url
Soit utiliser le Response.Redirect pour pouvoir récupérer le contenu de 2 variables sur l'autre page.
Bien entendu, il est exclu de passer les valeurs en Get dans l'adresse sinon ou serait le sport.
Est-il possible de déclencher un submit côté serveur plutôt qu'un redirect ?
Avez-vous des idées pour régler mon problème ?
D'avance merci
Laurent
Partager