如何在单个ActionMethod

时间:2016-05-17 10:20:06

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

这是我的动作方法,它应该接收一个客户对象和一个json字符串,我需要在同一个Action Method中发布,但是,

public ActionResult CreateNewCustomer(Customers customers, string model)
{
  //....Codes omitted 
}

我尝试使用AJAX发布,就像这里一样,

$.ajax({
  type: "POST",
   url: url,
   data: { customers: $("#formtopost").serialize(), model: JSON.stringify(jsonToPost) }, 
    success: function (data) {
    alert(data); 
    }
  });

e.preventDefault(); 

但是使用这种方法客户对象始终是null,我必须排除model字符串或customers对象。请帮助我如何在上面提到的相同动作方法中同时接收两者。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

first you will define customer

var customer = {};

add data to the properties of customer like

customer.Name = "MyName";

and finally make ajax call to the controller

var Stringmodel = "*your string*";

$.ajax({
                method: "POST",
                url: "/*your controller*/ * your action*",
                contentType: "application/json",
                data: JSON.stringify({ 'customers': customer , 'model': Stringmodel })
        })

答案 1 :(得分:-1)

将Querystring模型附加到网址。 传递的数据必须是formtopost序列化值。

e.preventDefault(); 
$.ajax({
    type: "POST",
    url: url?model=jsonToPost,
    data: $("#formtopost").serialize(), 
    success: function (data) {
         alert(data); 
      }
});