如何将JSON对象传递给MVC操作参数?

Tim*_*Tam 5 asp.net-mvc jquery json

我想通过

{"id":1, "name":"stackoverflow", "parameter2":false, "parameter3":true}
Run Code Online (Sandbox Code Playgroud)

为了我的行动

public JsonResult Action(int id, string name, bool parameter2, bool parameter3)
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

使用JQuery作为数据参数的ajax方法

$.ajax({
   url: "target.aspx",
   data:  {"id":1, "name":"stackoverflow", "parameter2":false, "parameter3":true},
   success: handleResponse
});
Run Code Online (Sandbox Code Playgroud)

我可以在fiddler中看到我的JSON对象正在被发送,但它们没有被绑定到我的动作参数.如何让它们绑定到参数?

我不想绑定到包含我的值的动作上的对象,即我不想要Action(MyCustomObjectToAcceptParameters json)我希望每个JSON属性绑定到动作的每个参数.

如果我将参数作为查询字符串传递一切正常,但JSON比一堆查询字符串值更容易构建/维护,所以我想要一些东西来取我的json并将它绑定到我的动作上的每个参数.我不需要将复杂类型与数据库绑定,只需简单的字符串,整数和布尔值.

Rya*_*yan 2

我看到 @womp 根据我的反馈删除了他的答案,所以这里是解决方案。您可以传递 JSON 对象作为数据参数。请参阅此处的示例。

$.ajax({
   url: "target.aspx",
   data: {parameter1: true, parameter2: false, parameter3: true},
   success: handleResponse
 });
Run Code Online (Sandbox Code Playgroud)