6

在我检查了所有帖子之后,仍然没有明确的解释(在我看来)在什么情况下应该使用主题数据,这真是太神奇了......

我知道对于 html.beginform,它将执行回发,将数据发布到控制器方法,然后重定向到另一个方法或将相同的视图返回给用户。

我知道对于 ajax.beginform,您必须(如果我错了,请纠正我)指定一个 UpdateTargetID,其中来自控制器方法的结果发布数据将进入类似于表单所在页面上的 div 标记内的部分视图. 我知道提交表单后您无法重定向到另一个操作方法。

在这两种情况下,您仍然可以让用户输入另一轮数据以通过控制器提交和处理。

因此,除非您需要重定向到另一个操作方法,否则为什么不一直使用 ajax.beginform 呢?

我唯一能想象的是, html.BeginForm 方法可能最适合一遍又一遍地输入数据,而 ajax.beginForm 方法将用于根据用户输入的信息向用户显示结果形式(几乎像一次性)交易。顺便说一句,我知道我大部分时间都使用 Ajax.BeginForm 的说法自相矛盾。

当应该使用这些方法中的每一个,有人可以给我一个相对简单的解释吗?

4

2 回答 2

1

在 Ajax 表单中,表单是提交的asynchronously using Javascript

Ajax 表单适用于需要修改或保存operations asynchronously而不重定向到任何其他表单的情况。

欲了解更多信息:

http://www.c-sharpcorner.com/UploadFile/3d39b4/working-with-html-beginform-and-ajax-beginform-in-mvc-3/

于 2013-10-07T05:56:06.133 回答
1

正如您所说,ajax 调用适用于您需要留在同一页面中的情况,并且它主要用于单页应用程序中。(就像当你在 stackoverflow 上提交答案时,它只是对页面的部分刷新)

但通常你想去另一个视图(页面)。(例如,如果您在某个网站上注册为新用户,提交后您将被重定向到主页)

于 2013-10-06T22:09:53.150 回答