2010-12-05 12 views
2

je dois obtenir une compréhension sur la façon dont vous pouvez gérer et obtenir des données de poste sous une forme asp.net dans ces 2 situations:Comment obtenir POST et GET données d'un formulaire dans ASP.NET

You submit a form with GET method: 
action: "form.php" 
parameters: text1=test 

You submit a form with POST method: 
action: "form.php?text1=sometext" 
parameters: text1=somedifferenttext 

Je sais que ces 3 commandes:

String val1 = Page.Request["text1"]; 
String val2 = Page.Request.Form["text1"]; 
String val3 = Page.Request.QueryString["text1"]; 

Je me demande quelles sont les commandes exactes pour accéder et obtenir les variables de poste directement?

+1

vos actions sont en arrière ci-dessus. GET utilise? format dans l'URL. –

+0

@Lou Franco - le POST aussi. Les deux GET et POST ont QS, POST a également un corps de la demande. – RPM1984

Répondre

2

Obtenez les variables sont stockées dans la query string:

String getText1 = Page.Request.QueryString["text1"]; 

les variables post sont stockées dans le form:

String postText1 = Page.Request.Form["text1"]; 

Si vous voulez en savoir plus sur la différence entre Obtenir et les variables post, je d suggérer avoir une lecture de cette question: When do you use POST and when do you use GET?

0

Pour un GET, Page.Request.RawUrl vous obtiendrez le ou Querystring d'origine. Vous devez analyser l'URL entière pour l'obtenir.

Si c'est un POST, lu à partir Page.Request.InputStream

0

Il pourrait aussi être utile de savoir que les deux Page.Request.Form et Page.Request.QueryString sont NameValueCollection objets. Donc, si vous voulez parcourir leurs clés, vous pouvez utiliser Page.Request.Form.Keys et Page.Request.QueryString.Keys.