请引用 MVC 中的此链接:http://aspnetwebstack.codeplex.com/discussions/351011
我在模型绑定(bind)方面遇到了问题。我从 JavaScript 向名为“/api/products”的 API 端点发出 GET Ajax 请求,传入一些参数,包括分页和排序作为查询参数。这是完整的 URI:
http://localhost/api/products?page=1&count=10&filter[name]=Test1&filter[price]=10&sorting[name]=desc
在服务器端,我有一个 Web API Controller 从 URI 接受这些属性:
public async IHttpActionResult Get([FromUri]Dictionary<string,string> filter, [FromUri]Dictionary<string,string> sorting, int count, int page)
{
//...
}
“count”和“page”参数绑定(bind)得很好,过滤器和排序绑定(bind)为字典的实例,但它的计数为 0。
我在 MVC 中实现了此功能,但它似乎无法在 Web API 中发挥作用。
最佳答案
您仍然可以利用开箱即用的默认模型绑定(bind)器,您的 uri 看起来像
http://localhost/api/products?page=1&count=10&filter[0].key=name&filter[0].value=Test1&filter[1].key=price&filter[0].value=10&sorting[0].key=name&sorting[0].value=desc
关于c# - 模型从 ASP.NET Web API 中的 URI 绑定(bind)到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944382/