Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can jQuery do a POST of a ViewModel to a Controller in ASP.NET MVC?

I have my Html Textboxes created so that they will be bound to a custom view model when posting back to the server.

<%= Html.TextBox("CustomerFormViewModel.Email")%>

This works great if it's a traditional POST. I can then receive it on the Controller side with something like this:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddCustomer(CustomersFormViewModel model)
{
     //validate data, save customer, handle validation errors...
}

I want to know -- is it possible to do the POST via jQuery and still get the same behavior?

like image 751
The Matt Avatar asked Jul 21 '09 17:07

The Matt


2 Answers

It is possible, there is no difference between a "traditional POST" and "AJAX Post". For example:

$.ajax({ type: "POST",
    url: '<%= Url.Action("AddCustomer", "Customer") %>',
    data: $('form').serialize(),
    success: function(data, textStatus) {
    }
});
like image 117
eu-ge-ne Avatar answered Sep 22 '22 06:09

eu-ge-ne


If I understand you right, I think it's pretty simple

var formData = $("#form").serialize();

$.post("path/to/action", formData, function(data) { //success } );
like image 20
Casey Williams Avatar answered Sep 23 '22 06:09

Casey Williams