美好的一天,
我正在使用WebClient将数据发送到API,如另一篇文章中所示:
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["thing1"] = "hello";
values["thing2"] = "world";
client.Headers.Add("Username", Store.Objects.Application.Username());
client.Headers.Add("PassToken", Store.Objects.Application.User()["PassToken"].ToString());
var response = client.UploadValues(Store.Objects.Application.API_URL() + "/Company/Add", values);
var responseString = Encoding.Default.GetString(response);
}
我的问题是我无法获取API中发布的值:
[HttpPost]
public Store.Objects.Security.Account Add(NameValueCollection values)
{
}
如何访问发送的值?
谢谢。
答案 0 :(得分:0)
我知道映射键/值类型集合(如Dictionary<TKey, TValue>
)会出现问题,因为它与RouteValueDictionary
冲突 - 为了避免这种情况,通常最好将适当的参数放入方法签名中让MVC绑定器处理映射。在您的情况下,请尝试将方法签名更改为
[HttpPost]
public Store.Objects.Security.Account Add(string thing1, string thing2)
{
}