c# - 模型从 ASP.NET Web API 中的 URI 绑定(bind)到字典

标签 c# javascript asp.net asp.net-web-api

请引用 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/

相关文章:

asp.net - FormsAuthentication.GetRedirectUrl 始终返回默认值

asp.net - 如果发送的 HTTP 请求具有 "Access-Control-Allow-Origin",我如何在 Fiddler 中查看

javascript - instanceof 运算符与 obj.constructor

c# - 在 Armstrong 中为 List 或 Array 赋值时遇到问题 No

c# - 如何保护存储在 web.config 中的密码?

c# - 是否可以在不首先执行查询的情况下更新 WCF 数据服务 (oData) 实体?

JavaScript 密码生成器有时不包括字符选择?

javascript - 如何在 Javascript 中获取浏览器视口(viewport)宽度和高度并应用于 CSS ID?

c# - 如何以多种语言发送核心银行系统生成的警报?

c# - 在 HttpContext.Current.Items 缓存中使用 lambda 表达式查找键