2009-07-21 65 views
9

我创建了我的Html文本框,以便在回发到服务器时将它们绑定到自定义视图模型。jQuery可以在ASP.NET MVC中将ViewModel的POST做为Controller吗?

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

如果是传统的POST,这很有效。是否有可能通过jQuery做POST,仍然得到同样的行为 -

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

我想知道:然后我就可以像这样的东西收到遥控器侧?

回答

16

有可能,“传统POST”和“AJAX Post”之间没有区别。例如:

$.ajax({ type: "POST", 
    url: '<%= Url.Action("AddCustomer", "Customer") %>', 
    data: $('form').serialize(), 
    success: function(data, textStatus) { 
    } 
}); 
+0

尤金,我要发布一个视图模型到操作方法,调用一个JavaScript方法上的成功,并留在相同的页面。正在使用这个最佳实践? – 2014-12-12 16:20:06

+0

完美...我想知道如何发布viewmodel到控制器,我已经使用JSON.stringfy(),但控制器无法接受数据。但.serialize()已经工作。非常感谢。 – 2015-03-27 08:02:25

4

如果我理解你的权利,我认为这是非常简单的

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

$.post("path/to/action", formData, function(data) { //success }); 
相关问题