Existe-t-il un moyen d'effacer les paramètres de chaîne de requête lors de la publication?
J'ai un formulaire qui devient parfois lié à certains paramètres de chaîne de requête. Le problème est que quand je poste retour à la forme, le paramètre de chaîne de requête est toujours là. Ce n'est pas vraiment une question de la façon dont je l'ai installé, mais je ne l'aime pas être là, et considère que c'est un problème si vous avez besoin de vérifier pour l'entrée dans un certain ordre.
Est-il un moyen pour effacer que le paramètre de chaîne de requête dans un facile, propre chemin? Je sais que je puisse changer la PostBackURL sur le bouton, mais ça ne semble pas trop efficace.
source d'informationauteur John Bubriski
Vous devez vous connecter pour publier un commentaire.
Non, je n'ai pas vu un moyen de l'effacer sans une redirection.
Je pense que vous avez répondu à votre propre question. Utiliser le PostBackURL propriété.
Ou quelque chose comme
de mettre cela au bas de votre page?
J'ai été coincé avec le même problème.
Je l'ai résolu en utilisant le bloc de code suivant:
Vous pouvez, dans certains cas, l'utilisation de la
Server.Transfer()
méthode, qui a une surcharge qui vous permet de spécifier si la chaîne de requête et les données de formulaire doit être conservé ou non.Je suppose que vous ne pouvez pas compter sur la Page.IsPostBack pour une raison quelconque?
Si ce que vous faites est côté serveur, alors il est simple d'ajouter une case pour IsPostBack dans vos méthodes (Page_Load, OnInit, etc) et seulement le traitement de la querystrings si ce n'est pas un message de retour (c'est à dire la demande initiale).
Je viens de tomber sur le même problème et après un peu de chasse sur le Web j'ai trouvé cet extrait:
J'appelle ClearQueryStrings() dans mon Page_Load après je suis fait de traitement de l'original paramètres de chaîne de requête. Lorsque la page enregistre, les paramètres sont passés.
Article Original est ici.
Cette méthode n'est pas ce que vous appelez une redirection, mais il sera certainement effacer la chaîne de requête.
Il suffit d'ajouter cette ligne à la fin de votre code JavaScript:
Ou
Ajouter ceci à la fin de votre page HTML:
Selon l'endroit où vous insérez le code, le moment de l'effacement de la chaîne de requête va changer.
Vous Pouvez essayer
Response.Redirect(Request.CurrentExecutionFilePath());
Son travail pour moi.
Utiliser le code suivant pour Effacer les Paramètres de Chaîne de Requête.