2009-07-21 64 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 }); 
相關問題