• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:POSTデータを取得するとき)

POSTデータの取得方法について

このQ&Aのポイント
  • ASP.NET初心者に教えてください!POSTデータを取得する方法についてわからないことがあります。
  • Request.Form['abc']とRequest['abc']の違いは何でしょうか?.NETのバージョンによるのでしょうか?
  • 初心者にもわかりやすく教えていただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#212058
noname#212058
回答No.2

> 今回、Form内のデータを受取りたかったのですが > 何故 Request.Form['abc'] では受取れなかったのでしょう? 先日の回答ではわかり易さを優先するために単に <form> 内の…と紹介しましたが、実際にはもう一つ『HTTP 要求の Content-Type 値が "application/x-www-form-urlencoded" または "multipart/form-data" のいずれかの場合』を満たしている必要があります(先の回答に示したURLページに明記されていますよ)。これの意味を理解してもらうには勉強して頂くしかありませんが、超絶簡単に言えば <form> の enctype 属性の指定による、ということです。 http://www.tagindex.com/html_tag/form/form_enctype.html ※デフォルト値(指定しなかった場合)は application/x-www-form-urlencoded なので、わざわざ他の値を指定していなければ普通は動くはずです。 > また、この受取り方はPOSTでもGETでも同じように受取れますよね? > (どこかで読みました) Request.Form[] は GETはダメだと思いましたけどね。Request[] は GET も POST も OK ですけど。

jg1wjz
質問者

お礼

shitabaさん、ありがとうございます。 今回、GETをPOSTに変更したので "application/x-www-form-urlencoded"を追記しました。 前はGETだったので明記されてなかったです。 (defaultだから不要だった?) このあたりを変えたせいですね。 少し、理解できました。 で、いろいろあってGETに戻して試したりしたのですが application/x-www-form-urlencoded をコメントにしても Request['abc']のままで取得できてました。 GETはどちらでもOKなんですかね。 ASP.NET、まだまだ奥が深いです。。。

その他の回答 (1)

noname#212058
noname#212058
回答No.1

Request.Form[] は、ブラウザーからポストされる <form> 内のデータが取得できます。 https://msdn.microsoft.com/ja-jp/library/system.web.httprequest.form%28v=vs.110%29.aspx Request[] は、ブラウザーからポストされる <form> 内のデータ、クエリ文字列、クッキーなどが取得できます。 https://msdn.microsoft.com/ja-jp/library/system.web.httprequest.item%28v=vs.110%29.aspx Request['abc'] と Request('abc') は、使用している言語によって使えるものが違います。Request['abc'] は C# です。Request('abc') は VB.NET です。

jg1wjz
質問者

お礼

shitaba さん、大変わかりやすく説明をありがとうございます。 今回、Form内のデータを受取りたかったのですが 何故    Request.Form['abc'] では受取れなかったのでしょう? また、この受取り方はPOSTでもGETでも同じように受取れますよね? (どこかで読みました)

関連するQ&A