web-dev-qa-db-ja.com

POST変数を取得する

ASP.NETでC#を使用しています。

パラメーターがPOST変数として受信されたかどうかを確認するにはどうすればよいですか?

パラメーターがPOSTまたはGETを介して送信された場合、異なるアクションを実行する必要があります。

42
user261863

GET値にこれを使用します。

Request.QueryString["key"]

そしてこれはPOST値

Request.Form["key"]

また、GETかPOSTか、または HttpContext.Items コレクションからのものかどうかを気にしなくても機能します。

Request["key"]

(必要な場合)注意すべきもう1つのことは、以下を使用して要求のタイプを確認できることです。

Request.RequestType

ページへのアクセスに使用される動詞(通常はGETまたはPOST)。 Request.IsPostBackは通常、これをチェックするために機能しますが、POST要求にASP.NETフレームワークによってページに追加された非表示フィールドが含まれる場合のみ。

94
Dan Herbert

使用

Request.Form []

for POST変数、

Request.QueryString []

忘れる。

7
egyedg

Request.FormおよびRequest.QueryStringの使用に加えて、特定のシナリオに応じて、PageIsPostBackプロパティを確認することも役立ちます。

if (Page.IsPostBack)
{
  // HTTP Post
}
else
{
  // HTTP Get
}
1