5

クエリ文字列とリクエストの本文に同じパラメーターがある場合の POST リクエストでは、モデル バインディングでどちらが優先されますか?

4

1 に答える 1

7

この記事の「バリュー プロバイダー」セクションから。

  1. アクションが子アクションの場合、以前にバインドされたアクション パラメーター
  2. フォーム フィールド (Request.Form)
  3. JSON リクエスト本文 (Request.InputStream) のプロパティ値。ただし、リクエストが AJAX リクエストの場合のみ
  4. ルート データ (RouteData.Values)
  5. クエリ文字列パラメーター (Request.QueryString)
  6. 投稿されたファイル (Request.Files)

したがって、同じ名前が複数の場所に表示される場合、モデル バインダーが最後に検索した場所が優先されます (私が思うに)、あなたの場合はクエリ文字列です。

やってみるのが一番簡単です。&id=23" で URL を入力し、"id" という名前の HTML 入力フィールドがあることを確認し、コントローラーに POST して、どれが渡されたかを確認します。

于 2013-07-18T12:56:26.830 に答える