从OnChange事件[MVC4]调用ActionResult

时间:2013-09-26 01:27:49

标签: c# javascript jquery asp.net-mvc-4 razor

我知道这可以通过在JQuery或Javascript中编写函数来完成,但似乎只需添加正确的字符串就可以非常简洁地应该。给出了HtmlHelper的HtmlAttributes,给出了MVC4的光滑程度。

我可能遗漏了一些非常简单的东西,所以如果我问明显的话,请原谅我。

采取这种情况:

  1. 您有一个有用的MVC4应用程序,您想要修改如下

  2. 您希望在Controller中调用ActionResult来修改页面内容,以响应用户更改了复选框的值。

  3. 该复选框位于表单中,但您不想提交表单,因为这会导致其他验证发生,最好在用户准备提交之前保留

    < / LI>
  4. 您希望将模型传递给ActionResult,就像提交

  5. 时一样
  6. 页面更改无法在客户端完成,因为将构建新模型

  7. 我已经尝试将$ .Post放入复选框的HtmlAttributes中,它将控制权引导到ActionResult就好了,但我无法解决如何在不编码函数的情况下传递模型。考虑到MVC的其他一切都是为了以非常直观的方式传递模型,我觉得必须有一种干净利落的方式......是吗?

    非常感谢

1 个答案:

答案 0 :(得分:1)

只需serialize()表单并发送数据; MVC模型绑定器应该完成剩下的工作:

$.post('@Url.Action("Bar", "Foo")', 
    $('#myForm').serialize(), 
    function(data) { /*do something with the response*/ });