Какие значения браузер собирает как данные обратной передачи? - PullRequest
0 голосов
/ 21 марта 2009

Когда страница должна быть отправлена ​​обратно на сервер, браузер собирает текущие значения каждого элемента управления и вставляет их вместе в строку. Эти данные обратной передачи затем отправляются обратно на сервер через HTTP POST.

Q1. Помимо атрибутов Text элемента управления и SelectedIndexoted (то есть помимо данных, вводимых пользователем), существуют ли другие атрибуты / значения элемента управления, которые сохраняются браузером в качестве данных обратной передачи?

Q2 - В случае GridView, какие значения сохраняются браузером при обратной передаче? Только те подряд, которые пользователь выбирает для редактирования?

байт

Ответы [ 3 ]

4 голосов
/ 21 марта 2009

Значения полей textarea, select, input и button возвращаются в записи. Каждое значение является парой ключ-значение, где ключ является свойством name элемента.

Я думаю, что у меня есть все элементы, которые включают данные в посте:

  • textarea: включается свойство value, то есть то, что напечатано в текстовой области.

  • select: свойство value выбранного параметра включено. Если для выбранной опции не указано свойство value, используется текст этой опции.

  • input type="text": включено свойство value, то есть то, что набрано в поле ввода.

  • input type="password": включено свойство value, то есть то, что введено в поле ввода.

  • input type="submit": если кнопка использовалась для отправки формы, включается свойство value, т. Е. Текст кнопки.

  • input type="image": Если кнопка использовалась для отправки формы, координаты щелчка мыши внутри изображения отправляются в сообщении. Имена для координат x и y создаются путем добавления «.x» и «.y» к имени элемента.

  • input type="checkbox": Если флажок установлен, свойство value включено. Если для элемента не указано value свойство, используется значение «on».

  • input type="radio": свойство value включается в выбранный элемент из каждой группы. (Группа - это все переключатели с одинаковым именем.)

  • input type="file": Содержимое выбранного файла включено вместе с исходным путем к файлу (или только именем файла, в зависимости от настроек браузера и безопасности).

  • input type="hidden": свойство value включено.

  • button: если кнопка использовалась для отправки формы, включается свойство innerText, т. Е. Текст кнопки с удаленной разметкой html.

Элемент управления TextBox отображается как input type="text", input type="password" или textarea, в зависимости от свойства TextMode. Элемент управления DropDownList отображается как элемент select. Элемент управления Button отображается как input type="submit". Элемент управления CheckBox отображается как input type="checkbox". И так далее ... проверьте визуализированный html-код, чтобы увидеть, каковы фактические html-элементы.

GridView включает в себя любые данные в сообщении, только если он содержит какие-либо редактируемые поля формы или вызывает обратную передачу (например, путем навигации по списку). При выполнении обратной передачи некоторая информация хранится в паре скрытых полей, поэтому любой элемент управления, который вызывает обратную передачу, но сам не отправляет никаких данных формы (например, LinkButton), содержит информацию о том, что вызвало обратную передачу.

Элементы управления также могут помещать данные в ViewState, который хранится в скрытом поле формы. Это также включено в сообщение, но оно просто отправляется в браузер и возвращается обратно без изменения браузером.

1 голос
/ 21 марта 2009

Возможно, вы также захотите использовать декодер ViewState. Вы можете получить их в расширениях браузера и использовать их в Интернете. Скотт Гу рекомендует один из них: http://weblogs.asp.net/scottgu/archive/2003/02/16/2495.aspx. ViewState должен рассказать вам все, что вам нужно знать о постоянных свойствах сервера.

1 голос
/ 21 марта 2009

Я не программист asp, поэтому не могу дать точного ответа, но я бы посоветовал вам использовать Firefox с аддонами Live Http Headers и Firebug (консольный раздел).

С помощью этой настройки вы сможете увидеть точные данные, отправленные браузером на ваш сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...