バックグラウンド
MVC 4 Web APIプロジェクト(ASP.NET)を使用してC#でAPIレイヤーをコーディングしています。
私はコントローラーで次のようなテストアクションを作成しました。
[System.Web.Mvc.HttpPost]
public string TestAction(FormCollection fc)
{
return "test";
}
フォームの投稿をテストするためにFireFoxのPosterを使用しています。
- content-typeはapplication/x-www-form-urlencodedに設定されています
- パラメータの本文はfoo=bar&bar=fooに設定されます
これが私のルートです:
RouteTable.Routes.MapHttpRoute("PostDefault", "{controller}/{action}");
質問
PosterからURLとパラメーターを投稿するときに問題なくコントローラーをヒットできますが、ブレークポイントを設定してから渡されたものreturn "test";
にカーソルを合わせるとFormCollection
、(fc
)ではなく空の文字列配列が渡されたことを示しています私の値(例string[0]
)。
$.post()
私はクライアントでjQueryを使用してこれを何度も実行しましたが、フォームコレクションの受信に問題はありませんでした。
この場合、何が失敗しますか?
ありがとう、
マット