2009-09-18 7 views
0

Si je vois quelque chose comme:Que fait l'objet Request dans le scénario suivant?

if(Request["Email"]) 
{ 

} 

Qu'est-ce que cela signifie réellement? Où est réellement défini le membre de la collection Email?

+0

Comment cela peut-il ne pas être une vraie question pour celui qui a voté pour le fermer jusqu'à présent. – Xaisoft

+0

Non, le code est juste if (Demande ["Email"]). Peut-être que Request ["Email"] est court pour Request.Form, je ne suis pas sûr. Je comprends en quelque sorte ce que demande, mais je ne suis pas clair sur l'origine de l'email. Est-ce quelque chose réglé par le programmeur, si oui où? – Xaisoft

+2

@Brandon La propriété Item de l'objet Request est une propriété de l'indexeur. – Darthg8r

Répondre

4

Récupère la variable des paramètres get/post. ?

SomePage.aspx bla = 1

chaîne blahValue = demande [ "bla"];

Console.WriteLine (blahValue);

> 1

Encore plus specificially:

Cookies, formulaire, QueryString ou ServerVariables

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

+0

ah ok, donc Email est mis en l'URL ou peut-être à travers, donc je ne le verrais pas dans la requête chaîne, correct? – Xaisoft

+0

+ ne pas oublier de vérifier si l'index existe. Ne sachez pas si ASP donnera une erreur sur l'indice de hachage manquant, mais si ce n'est pas le cas, ce ne sera pas amusant. –

+0

un grand merci pour la clarification. – Xaisoft

3

Voir this par exemple.

Extrait du lien ci-dessus

Toutes les variables sont directement accessibles en appelant demande (variable) sans le nom de la collection. Dans ce cas, le serveur Web recherche les collections dans l'ordre suivant:

  • QueryString
  • Formulaire
  • Cookies
  • ClientCertificate
  • ServerVariables
+0

+1 était trop lent :) – Juri

1

Il récupère soit le submited valeurs de formulaire (POST) ou les valeurs de chaîne de requête soumises (GET).

Vous généralement l'écrive soit comme Request.Form [ "E-mail"] ou Request.QueryString [E-mail "] au lieu de simplement Request [" E-mail "]

Exemple de méthode formulaire (POST).:

sur le HTML ou ASPX page:

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

Une fois que le formulaire a été envoyé en cliquant sur le bouton Envoyer le formulaire vous récupérerez les valeurs de formulaire à l'aide Request.Form [ « Email »] (ou tout simplement Demande [ "Email"] pour les paresseux :))

0

Juste quelques ajouts aux messages des autres. Pour avoir des choses plus explicites, vous devez normalement utiliser Request.QueryString[...] pour obtenir des valeurs de QueryString, donc quand une requête GET a été faite et Request.Form[...] quand une requête POST est faite. Bien que dans ce dernier cas, vous accédez généralement directement aux valeurs de vos contrôles serveur, depuis ASP.net utilise le mécanisme ViewState pour recharger vos contrôles lorsque la requête revient du client.