[英]Model binding to Dictionary from URI in ASP.NET Web API
請參考MVC的這個鏈接: http : //aspnetwebstack.codeplex.com/discussions/351011
我在模型綁定方面遇到了問題。 我從 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 控制器從 URI 接受這些屬性:
public async IHttpActionResult Get([FromUri]Dictionary<string,string> filter, [FromUri]Dictionary<string,string> sorting, int count, int page)
{
//...
}
"count" 和 "page" 參數綁定得很好,過濾器和排序綁定為字典的實例,但其計數為 0。
我在 MVC 中得到了這個,但它似乎並沒有在 Web API 中做卡車。
您仍然可以利用開箱即用的默認模型綁定器,您的 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
我認為最好使用模型作為參數,例如:
Public class model
{
Public Dictionary<string,string> filter{get;set;}
Public Dictionary<string,string> sorting{get;set;}
Public int sorting{get;set;}
}
public async IHttpActionResult Get(model yourModel)
{
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.