Comment faire pour supprimer les paramètres de chaîne de requête de l'url?
Supposons-je avoir le lien http://www.somesite.com/file.aspx?a=1&b=2
Et maintenant, je veux supprimer tous les paramètres, de sorte qu'il devient:
http://www.somesite.com/file.aspx
Ou je souhaiterez peut-être supprimer seulement 1 des paramètres tels que
http://www.somesite.com/file.aspx?b=2
Est-il un moyen de le faire ci-dessus en C#? Ce qui se passe, c'est que je suis venue à partir d'une autre page avec un paramètre appelé modifier dans l'url, mais lorsque la page n'est un message de retour, le modifier un paramètre est toujours là, il pense toujours qu'il est en mode édition. Exemple:
Utilisateur Un va à la première page.aspx et clique sur un lien d'édition. Ils sont pris à deux.aspx?edit=true. Lors du chargement de la page, il voit le paramètre de chaîne de requête édition n'est pas nul et il met le contenu en mode édition. Une fois que l'utilisateur est terminé, la page est actualisée, mais l'url est toujours deux.aspx?edit=vrai et le garde le contenu en mode d'édition, alors qu'en fait, il devrait être de deux.aspx
OriginalL'auteur Xaisoft | 2009-12-23
Vous devez vous connecter pour publier un commentaire.
Demande.Querystring est en lecture seule collection - Vous ne pouvez pas le modifier.
Si vous avez besoin de supprimer ou de modifier le paramètre de chaîne de requête seul moyen de sortir est de déclencher une nouvelle requête GET avec mise à jour de la chaîne de recherche - Cela signifie que vous aurez à faire Réponse.Redirection avec la mise à jour de l'URL. Cela vous fera perdre l'état d'affichage de la page en cours.
Si vous utilisez des sessions, vous n'avez pas de problème
OriginalL'auteur this. __curious_geek
Utiliser le PostBackUrl de la propriété, par exemple:
OriginalL'auteur jannagy02
Lorsque vous avez terminé l'édition, vous faites un post de retour, donc il suffit de définir l'action à la poste à deux.aspx au lieu de simplement poster à lui-même de cette façon, il va descendre les paramètres get.
OriginalL'auteur Jeff Beck
Comment sur la vérification de la Page.IsPostBack pour voir si la requête courante est une publication ou pas?
OriginalL'auteur RickNZ
si vous n'avez qu'chaîne, vous pouvez utiliser:
ou
OriginalL'auteur Marek Manduch
Tard, mais vous pouvez le faire pour supprimer la chaîne de requête à partir de l'URL sans une autre Requête GET.
http://www.codeproject.com/Tips/177679/Removing-Deleting-Querystring-in-ASP-NET
OriginalL'auteur alternatefaraz
Essayer quelque chose comme cela.
Dans cet exemple, je vérifie si l'url contient même une chaîne de requête, et si elle le fait, en soustrayant l'obtention de la "partie gauche" de la chaîne avant l' ?.
encore une fois, les url peuvent être codés et '?' devient '%3F'. cette manipulation doit être effectuée à l'aide d'Uri classe ou similaire
OriginalL'auteur Sonosp