【问题标题】:Can jQuery do a POST of a ViewModel to a Controller in ASP.NET MVC?jQuery 可以将 ViewModel POST 到 ASP.NET MVC 中的控制器吗?
【发布时间】:2010-11-12 17:43:40
【问题描述】:

我创建了我的 Html 文本框,以便在发回服务器时将它们绑定到自定义视图模型。

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

如果它是传统的 POST,这将非常有用。然后我可以在控制器端接收它,如下所示:

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

我想知道 -- 是否可以通过 jQuery 进行 POST 并且仍然获得相同的行为?

【问题讨论】:

    标签: jquery asp.net-mvc ajax viewmodel


    【解决方案1】:

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

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

    【讨论】:

    • Eugene,我想将视图模型发布到操作方法,成功时调用一个 JavaScript 方法,并保持在同一页面上。使用这是最佳做法吗?
    • 完美...我想知道如何将视图模型发布到控制器,我使用了 JSON.stringfy(),但控制器无法接受数据。但是 .serialize() 已经奏效了。非常感谢。
    【解决方案2】:

    如果我没听错的话,我认为这很简单

    var formData = $("#form").serialize();
    
    $.post("path/to/action", formData, function(data) { //success } );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-20
      • 2010-09-16
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-12-15
      • 2011-01-26
      相关资源
      最近更新 更多