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