次のコードを検討してください。
MultipartFormDataContent MPFD = new MultipartFormDataContent();
MPFD.Add(new StringContent(0.ToString()), "doesNotWork");
MPFD.Add(new StringContent(0.ToString()), "works[]");
HttpClient apiClient = new HttpClient();
var Result = apiClient.PostAsync(testurl, MPFD).Result;
Console.WriteLine("Response: " + Result.Content.ReadAsStringAsync().Result);
次に、このデータは、次のことを行う Generic Handler にポストされます。
context.Response.ContentType = "text/plain";
foreach (string key in context.Request.Form.AllKeys) {
context.Response.Write(key + ": " + context.Request.Form[key] + Environment.NewLine);
}
これを行うと「[]」で終わる名前だけが投稿されますが、「[]」のない名前も投稿できるようにする必要があります。この動作が発生する理由と解決方法はありますか?
注: を使用するFormUrlEncodedContent
と、[] のない名前が投稿されます。