2009-03-21 5 views
0

Lorsque la page doit être publiée sur le serveur, le navigateur recueille les valeurs actuelles de chaque contrôle et les colle ensemble dans une chaîne. Ces données de publication sont ensuite renvoyées au serveur via HTTP POST.Quelles valeurs le navigateur collecte-t-il en tant que données de publication?

Q1 - Outre les attributs de texte de contrôle et SelectedIndexchanged (donc en plus des données d'entrée de l'utilisateur), existe-t-il d'autres attributs/valeurs d'un contrôle enregistrés par un navigateur en tant que données de publication?

Q2 - Dans le cas de GridView, quelles valeurs sont enregistrées par un navigateur lors d'une publication? Seulement ceux d'affilée que l'utilisateur choisit d'éditer?

octet

Répondre

3

Les champs textarea, select, input et button sont renvoyés par la poste. Chaque valeur est une paire clé-valeur dont la clé est la propriété name de l'élément.

Je pense que j'ai tous les éléments qui incluent des données dans le poste:

  • textarea: Le value propery est inclus, à savoir ce qui est tapé dans la zone de texte.

  • select: La propriété value de l'option sélectionnée est incluse. Si l'option sélectionnée n'a pas de propriété value, le texte de l'option est utilisé. La propriété value est incluse, c'est-à-dire ce qui est tapé dans le champ de saisie. La propriété value est incluse, c'est-à-dire ce qui est tapé dans le champ de saisie. : Si le bouton a été utilisé pour envoyer le formulaire, la propriété value est incluse, c'est-à-dire le texte du bouton.

  • input type="image": Si le bouton a été utilisé pour envoyer le formulaire, les coordonnées du clic de souris dans l'image sont envoyées dans le message. Les noms pour les coordonnées x et y sont créés en ajoutant ".x" et ".y" au nom de l'élément.

  • input type="checkbox": Si la case est cochée, la propriété value est incluse. Si l'élément n'a pas de propriété value, la valeur "on" est utilisée.La propriété value est incluse dans l'élément sélectionné de chaque groupe. (Un groupe est tous les boutons radio portant le même nom.)

  • input type="file": Le contenu du fichier sélectionné est inclus, ainsi que le chemin d'accès du fichier d'origine (ou uniquement le nom du fichier, selon le navigateur et les paramètres de sécurité).

  • input type="hidden": La propriété value est incluse.

  • button: Si le bouton a été utilisé pour envoyer le formulaire, la propriété innerText est inclus, à savoir le texte du bouton avec une balise html supprimée.

Un contrôle TextBox est rendu soit comme un input type="text", un input type="password" ou un textarea, en fonction de la propriété TextMode. Un contrôle DropDownList est rendu en tant qu'élément select. Un contrôle Button est rendu comme input type="submit". Un contrôle CheckBox est rendu sous la forme input type="checkbox". Et ainsi de suite ... vérifiez le code html rendu pour voir ce que les éléments html réels sont. Un GridView n'inclut toutes les données de la publication que s'il contient des champs de formulaire modifiables ou s'il provoque une publication (en naviguant dans la liste par exemple). Lorsque vous effectuez une publication, certaines informations sont stockées dans une paire de champs masqués. Par conséquent, tout contrôle entraînant une publication mais n'envoyant aucune donnée de formulaire (comme un lien LinkButton par exemple) inclut des informations sur la cause de la publication.

Les contrôles peuvent également placer des données dans ViewState, qui est conservé dans un champ masqué dans le formulaire. Ceci est également inclus dans le message, mais il est simplement envoyé au navigateur et à nouveau sans être modifié par le navigateur.

1

Je ne suis pas programmeur asp, donc je ne peux pas donner une réponse exacte, mais je vous suggère d'utiliser Firefox avec addons en direct Http en-têtes et Firebug (section de la console).

Avec cette configuration, vous pourrez voir les données exactes envoyées par le navigateur à votre serveur.

1

Vous voudrez probablement utiliser un décodeur ViewState également. Vous pouvez les obtenir dans les extensions du navigateur et les utiliser sur le Web. Scott Gu en recommande un ici: http://weblogs.asp.net/scottgu/archive/2003/02/16/2495.aspx. ViewState doit vous indiquer tout ce que vous devez savoir sur les propriétés de serveur persistantes.

Questions connexes