web-dev-qa-db-fra.com

Comment gérer C # .NET GET / POST?

Comme je suis nouveau sur .NET après être venu de PHP j'ai choisi C # pour travailler avec et son bon déroulement. J'ai une question cependant concernant la gestion de GET et POST.

Jusqu'à présent, j'ai établi que je peux mettre cela dans le fichier de code derrière la page aspx:

if (Request.HttpMethod.ToString() == "POST") {

    Response.Write("You sent a post!")

}

et je pourrais et un autre là-bas pour gérer un GET, mais comment feriez-vous exactement cela?

En PHP je ferais quelque chose comme ceci:

Exemple d'URL = http://www.example.com/page.php?foo=bar

$foobar = $_GET['foo'];

Une âme aimable pourrait-elle me donner des conseils sur la façon de traiter cela en C #.

Merci

21
tripbrock

La version .Net de $ _GET [] est:

 Request.QueryString["parameter1"]

Vous n'avez pas besoin de faire cette condition IF.

La version .Net de $ _POST [] est:

 Request.Form["paramName"];

Toujours pas besoin de la condition IF.

MAIS dans le formulaire Web Asp.Net, vous n'avez pas besoin d'utiliser tout le temps la classe Request, car le PostBack sur la page contiendra vos données de formulaire directement dans la valeur de contrôle. Supposons que vous ayez une zone de texte appelée txt1, lorsque l'utilisateur soumettra le formulaire, vous pouvez obtenir la valeur de cette zone de texte directement en accédant à txt1.

33
Patrick Desjardins

Fondamentalement, c'est:

var request = Request["q"];         // $_REQUEST
var post = Request.Form["q"];       // $_POST
var get = Request.QueryString["q"]; // $_GET
11
BrunoLM

Essayer

    string foobar = Request.QueryString["foo"];
6
Bala R

Si vous cherchez à obtenir la valeur de chaîne de requête de Foo, utilisez:

Request.QueryString["foo"];

Vous pouvez utiliser l'objet de demande pour obtenir des valeurs publiées sur votre page.

3
Miyagi Coder

Si votre objectif est de pouvoir accéder aux paramètres transmis quelle que soit la méthode utilisée (get vs post), vous pouvez simplement utiliser Request.Params ["paramname"] pour y accéder, et vous n'avez pas à vous inquiéter pour savoir si c'était un get ou un post.

3
The Evil Greebo

Pardonnez-moi si je ne comprends pas très bien la question, mais je crois que vous demandez la propriété QueryString?

http://msdn.Microsoft.com/en-us/library/system.web.httprequest.querystring.aspx

1
Mike Cheel