在我检查过的所有帖子之后,令人惊讶的是,在我的脑海中仍然没有明确的解释(在我看来)在什么情况下应该使用主题数据......
我知道对于html.beginform,它会执行回发,将数据发布到控制器方法,并重定向到另一个方法或将相同的视图返回给用户。
我知道ajax.beginform,你必须(纠正我,如果我错了)指定一个UpdateTargetID ,其中来自控制器方法的结果发布数据将进入类似于局部视图的内容与表单位于同一页面上的div标签。我知道在提交表单后您无法重定向到另一个操作方法。
在这两种情况下,您仍然可以让用户输入另一轮数据来通过控制器提交和处理。
所以,除非你需要重定向到另一个动作方法,为什么你不能一直使用ajax.beginform?
我唯一可以想象的是,html.BeginForm方法可能最适合一次又一次地输入数据,而ajax.beginForm方法将用于根据什么信息向用户显示结果他们输入表格(几乎像一次性)交易。顺便说一下,我知道我和大多数时候都说使用Ajax.BeginForm是矛盾的。
有人可以给我一个相对简单的解释何时应该使用这些方法?
答案 0 :(得分:1)
正如你所说,ajax调用适用于需要保留在同一页面的时候,它主要用于单页面应用程序。 (就像你在stackoverflow上提交答案一样,它只是对页面的部分刷新)
但通常你想去另一个视图(页面)。 (例如,如果您在某个网站上以新用户身份进行注册,则在您提交后会被重定向到主页)
答案 1 :(得分:1)
在Ajax表单中,表单已提交asynchronously using Javascript
。
Ajax表单适用于需要修改或保存operations asynchronously
的情况,而不需要重定向到任何其他表单。
欲了解更多信息: