Request.Params と Request.Form が異なるのはどのような場合ですか?

StackOverflow https://stackoverflow.com/questions/5706

  •  08-06-2019
  •  | 
  •  

質問

最近、Request.Form でアクセスすると値が null になるが、Request.Params で取得すると値が正常になるという問題に遭遇しました。この問題を引き起こす可能性のあるこれらの方法の違いは何ですか?

役に立ちましたか?

解決

Request.Form にはフォームを通じて投稿された変数のみが含まれますが、Request.Params には投稿されたフォーム変数と URL パラメーターとして指定された取得変数の両方が含まれます。

他のヒント

Request.Params には、QueryString、Form、Cookie、ServerVariables (この順序で追加) の組み合わせが含まれています。

違いは、QueryString と Form の両方に「key1」というフォーム変数がある場合、Request.Params["key1"] は QueryString 値を返し、Request.Params.GetValues("key1") は[クエリ文字列値、フォーム値] の配列。

同じキーを持つ複数のフォーム値または Cookie がある場合、それらの値は GetValues によって返される配列に追加されます (つまり、GetValues はギザギザの配列を返しません)

その理由は、取得していた値がフォーム要素からのものであったが、送信はフォーム ボタンの送信ではなく、リンク + JQuery を介して行われたためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top