2010-09-03 8 views
2

Une URL d'action de formulaire peut-elle contenir des valeurs de chaîne de requête?une URL d'action de formulaire peut-elle contenir des valeurs de chaîne de requête?

+1

Modifier la méthode à 'GET' au lieu de' POST' – xandercoded

+0

Possible copie de [Que se passe-t-il si le champ d'action dans un

a des paramètres?] (Http://stackoverflow.com/questions/732371/what-happens- if-the-action-field-in-a-form-has-parameters) –

+0

Exemple de code à ce sujet pour plus d'explications et plus de détails pour la réponse. – Kiquenet

Répondre

2

Oui, c'est possible.

(Frappes)

+0

Exemple de code? seulement Oui réponse, pas de contexte. – Kiquenet

+0

@Kiquenet: C'est une question "pouvez-vous faire X", il n'a besoin d'aucun exemple de code. Je préférerais voter pour conclure que c'est une dupe d'une meilleure question qui a plus de discussions à ce sujet. –

0

Je viens de vérifier en utilisant un test réduit:

  • Form.htm qui contient une forme avec un action de default.aspx?query=1 et un bouton d'envoi.
  • default.aspx qui contient le code à Page_Load pour écrire Request.QueryString["query"]

Le résultat je suis arrivé en cliquant sur le bouton était une page qui suit:

Alors , la réponse est oui.

0

Oui

il peut.

Mais

quand method="get" alors le querystring sera dépouillé et remplacé par les noms d'entrée de forme/valeurs (étant donné que les contrôles de formulaire sont ceux qui construisent la GET querystring).

<form method="get" action="?param=foo"> 
    <input type="hidden" name="param" value="bar" /> 
</form> 

soumettront param=bar

Pour garder la valeur que vous devez spécifier method="post" sur le form.

<form method="post" action="?param=foo"> 
    <input type="hidden" name="otherparam" value="bar" /> 
</form> 

soumettront param=foo&otherparam=bar

<form method="post" action="?param=foo"> 
    <input type="hidden" name="param" value="bar" /> 
</form> 

soumettront param=foo&param=bar (donc, selon la façon dont vous traitez la demande, vous pouvez obtenir soit une valeur de tableau ou des résultats inattendus).