如何将表单和字符串发布到MVC 4控制器

时间:2017-07-28 21:30:37

标签: jquery asp.net-mvc

通过Post向MVC Controller发送多个数据时出现问题 无论我通过帖子发送什么步骤,它都没有被控制器接收并默认为1,但它仍然会正确发送表格。

public class SetupP{
    public string fn {get;set;}
    etc...
}

public ActionResult Start(int step = 1, Setup SetupP = null){
    if(step == 1)
    if(step ==2)
}



$.post("/setup/Start", { step: 2, SetupP: $('#SetupForm').serialize() }

1 个答案:

答案 0 :(得分:1)

$('#SetupForm').serialize()返回查询字符串,例如single=Single&check=check1&radio=radio1(来自jQuery' s .seialize()示例)。

因此{ step: 2, SetupP: $('#SetupForm').serialize() }会尝试将整个查询字符串显示为单个参数SetupP。它是一种混合数据格式,不会起作用。

您可以手动将各个部分组合在一起,如下所示:

$('#SetupForm').serialize() + '&step=2'

或者如果step值可用作变量,则:

$('#SetupForm').serialize() + '&step=' + someVariable