Html.BeginForm()和ajax.beginform()之间的区别

时间:2013-07-05 09:48:00

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

MVC3中Html.BeginForm()和Ajax.Beginform()之间的区别是什么。我只想知道可以使用Html.BeginForm()的情况以及可以使用Ajax.Beginform()的地方。

3 个答案:

答案 0 :(得分:20)

<强>的Ajax

  1. 即使您执行RedirectAction(),也不会重定向表单。
  2. 将异步执行保存,更新和任何修改操作。
  3. 使用FormMethods - OnSubmit验证表单。所以你中止了Post
  4. 这将创建一个使用异步ajax请求提交其值的表单。这样可以更新页面的一部分,而无需刷新整个页面。
  5. <强> HTML

    1. 将重定向表单。
    2. 将执行SynchronouslyAsynchronously的操作(使用一些额外的代码和小心)。
    3. Html.BeginForm将始终使用RouteTable来取消操作属性值。
    4. 这将在页面上创建一个表单,该表单将其值作为同步HTTP请求提交给服务器,刷新整个页面。

答案 1 :(得分:11)

Html.BeginForm()将在页面上创建一个表单,该表单将其值作为同步HTTP请求提交给服务器,刷新整个页面。

Ajax.BeginForm()创建一个使用异步ajax请求提交其值的表单。这样可以更新页面的一部分,而无需刷新整个页面。

答案 2 :(得分:2)

Html.BeginForm()将在页面上使用简单发布,这意味着您在发布表单时将刷新您的页面。 当Ajax.BeginForm()在页面上使用ajax发布时,这意味着您在发布表单时不会刷新您的页面。