2009-09-18 6 views
0

Если я вижу что-то вроде:Что делает объект Request в следующем сценарии?

if(Request["Email"]) 
{ 

} 

Что же это значит? Где действительно установлен элемент электронной почты?

+0

Как это может не быть реальным вопросом для того, кто голосовал, чтобы закрыть его до сих пор. – Xaisoft

+0

Нет, код просто, если (Request ["Email"]). Возможно, запрос [«Электронная почта»] является коротким для Request.Form, я не уверен. Я понимаю, что делает запрос, но я не понимаю, откуда приходит электронная почта. Это что-то задает программист, если да где? – Xaisoft

+2

@Brandon Свойство Item объекта Request является свойством индексатора. – Darthg8r

ответ

4

Он извлекает переменную из параметров get/post. ?

somepage.aspx ли = 1

строка blahValue = Запрос [ "л"];

Console.WriteLine (blahValue);

> 1

Еще более specificially:

печенье, форма, QueryString или ServerVariables

http://msdn.microsoft.com/en-us/library/system.web.httprequest_members(VS.71).aspx

+0

ah ok, поэтому адрес электронной почты задается в URL-адресе или, возможно, через get, поэтому я не увижу его в запросе строка, правильно? – Xaisoft

+0

+ не забудьте проверить, существует ли указатель. Не знаю, будет ли ASP выдавать ошибку по отсутствующему индексу хэша, но если это произойдет, это не будет весело. –

+0

большое спасибо за разъяснение. – Xaisoft

3

См this, например.

Взятые из приведенной выше ссылке

Все переменные могут быть доступны непосредственно с помощью вызова Request (переменная) без имени коллекции. В этом случае веб-сервер ищет коллекции в следующем порядке:

  • QueryString
  • Форма
  • Печенье
  • ClientCertificate
  • ServerVariables
+0

+1 был слишком медленным :) – Juri

1

Он извлекает либо занесена значения формы (POST) или представленные значения запроса (GET).

Вы, как правило, видим, что написано или как Request.Form [ "Отправить"] или Request.QueryString [Отправить "] вместо того, чтобы просто Запрос [" Email "]

Пример метода формы (POST).:

на HTML или ASPX страницы:

<form action="SomePage.aspx"> 
<input type="hidden" name="Email" value="[email protected]" /> 
<input type="Submit" value="Submit Form" /> 
</form> 

После того как форма была представлена, нажав на кнопку Отправить форму вы восстановить значения формы с помощью Request.Form [ «Отправить»] (или просто запрос [ «Email»] для ленивых :))

0

Просто некоторые дополнения к сообщениям других.

Чтобы получить более явное выражение, вы обычно используете Request.QueryString[...] для получения значений из QueryString, поэтому, когда запрос GET был выполнен и Request.Form[...], когда выполняется запрос POST. Хотя в последнем случае вы обычно получаете прямой доступ к значениям ваших серверных элементов управления, поскольку ASP.net использует механизм ViewState для загрузки ваших элементов управления, когда запрос возвращается с клиента.