ASP.NET MVC Web API の FormDataCollection が値を自動デコードしているようです。これをオフにする方法はありますか?私はフィドラーを使用して、次のデータを自分の URL に投稿しています。
.code=2001&Color=Lam%E9%20Purple
残念ながら、色は既にデコードされており、次のようになります。
Lam� Purple
私が得たいと思っていたのはこれです:
Lamé Purple
使用したコード:
[HttpPost]
public HttpResponseMessage PostItem(FormDataCollection collection)
{
int qty = 5000;
var response = Request.CreateResponse(HttpStatusCode.Created);
response.StatusCode = HttpStatusCode.OK;
if (collection == null)
{
response.Headers.Add("Available", qty.ToString());
return response;
}
var item = new Item();
foreach (KeyValuePair<string, string> keyValuePair in collection)
{
switch(keyValuePair.Key)
{
case ".quantity":
item.Qty = Convert.ToInt32(keyValuePair.Value);
break;
case ".code":
item.Style = keyValuePair.Value;
break;
case "Color":
item.Color = keyValuePair.Value;
break;
case "Size":
item.Size = keyValuePair.Value;
break;
}
}
qty = Repository.GetInventory(item);
response.Headers.Add("Available", qty.ToString());
return response;
}