コントローラ メソッドが受信したパラメータを投稿データまたは URL から取得する必要があることをどのように認識しているかをよりよく理解したいと思います。
次の例を見てください。
URL: /ModelController/Method/itemID
// Where itemID is the id (int) of the item in the database
POST: objectOrArray: {JSON Object/Array}
コントローラーは次のようになります。
[HttpPost]
public ActionResult InputResources(int? id, Object objectOrArray)
どういうわけか、このメソッドはid
、サイトの URLObject
とHTTPPost
.
これは機能しますが、その理由はわかりません。その結果、予測不可能で不安定な動作に遭遇することがあります。たとえば、?
fromを削除すると、コントローラ メソッドは、URL ではなくint? id
で ID を検索する必要があるとすぐに想定するようになることがわかったようです (100% 確実ではありませんが)。HTTPPost
そこで、次の点を明確にしたいと思います。
データを探す場所をメソッドに伝えるのは、正確には何ですか? ([HttpPost]
メソッドに先行する属性?)
命名規則は適用されますか? (たとえば、変数名として?
使用しないか削除しますか?)id
変数が配置される順序に影響はありますか? Object
(つまり、 を の前に置くid
)
試行錯誤によってこのようなもののいくつかを多かれ少なかれ把握できることはわかっていますが、観察に基づいた仮定の作業を続けるのではなく、適切な説明が必要です.
ありがとうございました
チョポ