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

RichTextBox Field in power apps as Sharepoint online defalut forms.

Code snipets in vs

Type conversion in Visual Basic.