How to pass model in a ajax call to a method ??



Form MVC 3 or MVC 2 the objs passed in the form of json are automatically converted model format if the model of that type of object exists.
Example
Let say we have a model 'Customer'

Public class Customer 
{
public int CustomerID {get; set;}
public string CustomerName {get; set;}
public string CustomerAddress {get; set;}
}


Here we have a model 'Customer' with 3 attributes ID, Name, Address.
Now we need to have a Get method and a post method


public ActionResult Index()
{
return View("");
}

[HttpPost]
public ActionResult Index( Customer modelCustomer)
{
// Do your stuff here 
return View ("")
}



Here i have two different Function in the above code one is the httpGet method this is used to call the view where as the other is used to call the post method form the view may be using Submit or using ajax calls.

here goes the code for ajax call


@model iEnumerable
@using (Html.BeginForm("Index", "Home" , FormMethod.Post , new {id = "form1"}))
{
@Html.TextBoxFor(x=> x.EmailAddress)
@Html.TextBoxFor(x=> x.Name)
}

-- Script --

$.ajax({

url : this.action,
type: this.method,
data: $(this).serialize(),// this will serialize the model in json format for the 
success: function (result)
{

},
error: function(result)
{

}  
});



Here we can see the function in ajax which sends the complete model to the HttpPost method .


feel free to comment about any queries, Thank you


Comments

Popular posts from this blog

How to use lamda expression for updating using LINQ

using session for login and logout in asp.net

How to post data in MVC using form collection for Beginners.