web-dev-qa-db-ja.com

C#.NET GET / POSTの処理方法

PHPから来た後で.NETを初めて使用するので、C#を選択して、うまく機能しました。GETとPOSTの処理に関して質問があります。

これまでのところ、aspxページの背後にあるコードファイルにこれを配置できることを確認しました。

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

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

}

そこにELSEを置いてGETを処理することもできますが、正確にはどのようにしますか?

PHPでは、次のようにします:

URLの例= http://www.example.com/page.php?foo=bar

$foobar = $_GET['foo'];

親切な人に、C#でこれに対処するための指針を教えてください。

ありがとう

21
tripbrock

$ _GET []の.Netバージョンは次のとおりです。

 Request.QueryString["parameter1"]

このIF条件を実行する必要はありません。

$ _POST []の.Netバージョンは次のとおりです。

 Request.Form["paramName"];

それでもIF条件は必要ありません。

しかし、Asp.Net Webフォームでは、ページへのポストバックがフォームデータを直接コントロール値に含むため、常にRequestクラスを使用する必要はありません。たとえば、txt1というテキストボックスがあるとします。ユーザーがフォームを送信すると、txt1にアクセスして、このテキストボックスの値を直接取得できます。

33

基本的には:

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

試す

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

Fooのクエリ文字列値を取得する場合は、次を使用します。

Request.QueryString["foo"];

リクエストオブジェクトを使用して、ページに投稿された値を取得できます。

3
Miyagi Coder

使用するメソッドに関係なく(getとpostのどちらでも)渡されるパラメーターにアクセスできるようにすることが目的である場合は、Request.Params ["paramname"]を使用してそれらにアクセスするだけでよく、心配する必要はありません。それがゲットかポストかについて。

3
The Evil Greebo

質問を完全に理解していませんが、QueryStringプロパティを要求していると思いますか?

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

1
Mike Cheel