クエリ文字列とリクエストの本文に同じパラメーターがある場合の POST リクエストでは、モデル バインディングでどちらが優先されますか?
1 に答える
7
この記事の「バリュー プロバイダー」セクションから。
- アクションが子アクションの場合、以前にバインドされたアクション パラメーター
- フォーム フィールド (Request.Form)
- JSON リクエスト本文 (Request.InputStream) のプロパティ値。ただし、リクエストが AJAX リクエストの場合のみ
- ルート データ (RouteData.Values)
- クエリ文字列パラメーター (Request.QueryString)
- 投稿されたファイル (Request.Files)
したがって、同じ名前が複数の場所に表示される場合、モデル バインダーが最後に検索した場所が優先されます (私が思うに)、あなたの場合はクエリ文字列です。
やってみるのが一番簡単です。&id=23" で URL を入力し、"id" という名前の HTML 入力フィールドがあることを確認し、コントローラーに POST して、どれが渡されたかを確認します。
于 2013-07-18T12:56:26.830 に答える