问题
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?
回答1:
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) {
}
});
回答2:
If I understand you right, I think it's pretty simple
var formData = $("#form").serialize();
$.post("path/to/action", formData, function(data) { //success } );
来源:https://stackoverflow.com/questions/1160669/can-jquery-do-a-post-of-a-viewmodel-to-a-controller-in-asp-net-mvc