MVC使用Ajax将表单和额外参数发布到MVC控制器

时间:2014-02-24 10:05:51

标签: c# jquery ajax asp.net-mvc

我需要找到一种通过ajax请求将序列化表单和额外参数发布到控制器的方法。我可以在表单上使用serialize(),或者只使用params发送对象,但不能同时发送。我该如何做到这一点?

例如,我希望我的控制器参数如下:

myaction(int siteID, Model model).

2 个答案:

答案 0 :(得分:3)

传递您想要的额外参数以及表单数据,如下所示:

 $.ajax({     type: 'POST',  
                 url: "/MyController/Process",
                 data: $("form").serialize() + '&id=12345' ,   
                 success: function () { alert("Successful"); },     
                 dataType: "json" 
    }); 

希望这会有所帮助..

答案 1 :(得分:0)

您需要使用以下内容:

var dataToPost = $('#formID').serialize() + "&siteID=" + "23";

现在在jquery ajax方法中使用这个dataToPost变量,如下所示:

 $.ajax({
            url: //url,
            type: //'POST',
            dataType: //'html',
            async: true,
            data: dataToPost,
            cache: false,
        }).success(function (response, status, xhr) {

        }).fail(function (e) {
            console.log(e);
        });