MVC4控制器将多个json对象发布到控制器,ajax发布

时间:2013-07-05 07:12:14

标签: c# javascript ajax asp.net-mvc asp.net-mvc-4

是否有任何将多个对象发布到控制器的示例。 ajax帖子的数据必须如何?

[HttpPost]
public string Register(UserLogin userLogin, Contact contact)
{
}

UserLogin

public class UserLogin 
{
   public string Username { get; set; }
   public string Password { get; set; }
}

public class Contact
{
   public string Firstname { get; set; }
   public string Lastname { get; set; }
}

AJAX?

$.ajax({
   type: "POST",
   url: "SomeUrl"
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: ? });

3 个答案:

答案 0 :(得分:5)

试试这个

$.ajax({
   type: "POST",
   url: "SomeUrl"
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: {
       'userLogin' : {
           'Username' : 'Username',
           'Password' : 'Password'
       },
       'contact' : {
           'Firstname' : 'Firstname',
           'Lastname' : 'Lastname'
       }
   }
});

答案 1 :(得分:1)

只需要更改javascript即可。创建

后,像这样传递您的对象
var loginObject = {
  Username: uname,//get it using jQuery $('#Username').val()
  Password : pswrd    //same way
};
var contact = {
  Firstname = "",
  Lastname = "",
};

在ajax电话中,

data: {userLogin: loginObject, contact: contactObject}

答案 2 :(得分:0)

您可以按照以下代码段

进行操作
var userLogin = {
UserName : "", Password : ""
};

var contact = {
FirstName : "", LastName : ""
};

然后你可以将数据分配给ajax调用,如数据:{userLogin:userLogin,contact:contact}