Что такое коллекция форм в asp.net/html? - PullRequest
4 голосов
/ 14 декабря 2010

Простой вопрос, но мне нужно прояснить для себя.С точки зрения коллекций, к которым можно получить доступ в объекте запроса, есть:

Cookies:    (whats in  a text file in the browser)
Querystring:   (whats passed in the url like [key=value&key=value etc])
Server Variables:  ?
Form Variables:    ?

Те с?следующие - те, которые я действительно не понимаю, где в http пакете / html они размещены.Я сделал захват с помощью wireshark:

POST /Security/HelixSessionAuth.aspx HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 391

ClientIP=192.168.20.31
Url=%2Fflash%2F56553550%5Fhi%2Emp4
Log=SESSIONSTART%20%5B13%2FDec%2F2010%3A16%3A31%3A23%20%2B0000%5D%20%20flash%2F56553550%5Fhi%2Emp4%200%20192%2E168%2E20%2E31%203%20%5B13%2FDec%2F2010%3A16%3A31%3A23%20%2B0000%5D%200%200%200%20%5B0%20No%20Error%5D%20%5B0%20No%20Error%5D%20%5Brtmp%3A%2F%2Fhelix%2Epete%2Evideolibraryserver%2Ecom%2Fflash%2F56553550%5Fhi%2Emp4%5D%0A
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 13 Dec 2010 16:31:23 GMT
Connection: close
Content-Length: 315

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Not Found</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Not Found</h2>
<hr><p>HTTP Error 404. The requested resource is not found.</p>
</BODY></HTML>

Где бы они находились в вышеуказанном канале?

Ответы [ 3 ]

2 голосов
/ 14 декабря 2010

Коллекция Form - это список элементов управления на странице, которые передаются на страницу действия методом POST.Querystring - это GET, POST добавляет элементы в коллекцию Form.Если вы знаете имя элемента управления в POST, вы можете получить доступ к его значению на странице действий, используя:

Request.Form("myControl")

В веб-формах .Net это немного сложнее, потому что .Net внедряет специализированныйClientID для сохранения идентификатора фактического элемента управления в коде позади.

Коллекция серверов - это набор общих серверных переменных, идентифицирующих информацию о клиенте, сервере, соединении, браузере и т. Д. Полный список можно найтиздесь:

https://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx

2 голосов
/ 14 декабря 2010

Wireshark для этого - что-то вроде кувалды, я бы предложил начать с документации MSDN для HttpRequest .Это должно помочь вам понять, что такое коллекции Form и Server и что они представляют, тогда вы будете знать, что вы ищете в реальном пакете данных.

1 голос
/ 14 декабря 2010

Сначала о вашем инструменте.WireShark - это инструмент анализа пакетов низкого уровня, который вам не нужен для изучения концепций HTTP.Вместо этого используйте Fiddler .

ServerVariables:

Это старый объект из классического asp.Сейчас существует много псевдонимов для их объектов.Например, Request.UserHostAddress является псевдонимом для Request.ServerVariables("remote_addr").Также Headers, Cookies, Session объекты, ... доступны из этого объекта.Этот объект обладает большей обратной совместимостью.

Переменные формы:

Все элементы управления в ASP.NET отслеживаются с помощью идентификатора ASP.NET, и их состояние удерживается.в пределах ViewState скрытого поля.просмотр состояния - это метод, используемый веб-страницей ASP.NET для сохранения изменений состояния веб-формы в PostBacks.Таким образом, в каждом PostBack (отправке формы, т. Е. Нажатии кнопки) ASP.NET на стороне сервера будет повторно заполнять объект формы и его дочерние элементы (элементы управления внутри формы) из данных публикации.Это мы называем сбор форм.

...