在MVC 6中的HTTP POST上使用动态参数处理API请求

时间:2016-03-10 08:53:46

标签: ajax asp.net-mvc asp.net-web-api asp.net-web-api2

我对Ajax API请求有一个小问题。我实现了一个像这样的Controller,它接受来自Bootgrid的ajax请求:

public JsonResult PostThings(int current, int rowCount, string searchPhrase, KeyValuePair<string, string> sort )

第三个参数被绑定但是&#34;排序&#34;不是。问题是,参数是动态的,这意味着字段名称包含在brakets中。它的形式为sort[field_name]=asc

我认为KeyValuePair<string,string>可行,但它不仅仅是string[] sortstring sort

有没有办法绑定这个参数?我也不知道如何为此目的编写自定义模型绑定器。

感谢任何提示。

1 个答案:

答案 0 :(得分:1)

我找到了答案。绑定到Dictionary<string, string>工作正常。

我用过

[HttpPost]
public JsonResult PostThings(int current, int rowCount, string searchPhrase, Dictionary<string,string> sort ) 
{
    //do something
    return null;
}
现在在我的控制器中

并收到动态参数提供的值。