1

is there any example to post multiple objects to a controller. How the data for the ajax post have to look like ?

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

UserLogin

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

Contact

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 Answers 3

5

Try this

$.ajax({
   type: "POST",
   url: "SomeUrl"
   dataType: "json",
   contentType: "application/json; charset=utf-8",
   data: {
       'userLogin' : {
           'Username' : 'Username',
           'Password' : 'Password'
       },
       'contact' : {
           'Firstname' : 'Firstname',
           'Lastname' : 'Lastname'
       }
   }
});
Sign up to request clarification or add additional context in comments.

Comments

1

Just need to change javascript. Pass your object like this after creating

var loginObject = {
  Username: uname,//get it using jQuery $('#Username').val()
  Password : pswrd    //same way
};
var contact = {
  Firstname = "",
  Lastname = "",
};

And in ajax call,

data: {userLogin: loginObject, contact: contactObject}

Comments

0

You can follow the below snippet

var userLogin = {
UserName : "", Password : ""
};

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

Then you can assin the data to the ajax call like data : {userLogin : userLogin, contact : contact}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.