Javascript 为什么在mvc中使用Ajax.BeginForm

Javascript 为什么在mvc中使用Ajax.BeginForm,javascript,jquery,ajax,asp.net-mvc-4,Javascript,Jquery,Ajax,Asp.net Mvc 4,我有几个关于Ajax表单的问题,我读了一些关于Ajax vx html表单的信息。人们说的唯一原因是,如果你想停留在同一个页面上,那么就使用ajax-else-html重定向到另一个页面 在使用ajax转换为html.beginform时,是否还有其他需要注意的事项 另一个问题是,使用Ajax.Beginform和编写脚本之间是否有区别: $("form").submit(function () { $.ajax({ s

我有几个关于Ajax表单的问题,我读了一些关于Ajax vx html表单的信息。人们说的唯一原因是,如果你想停留在同一个页面上,那么就使用ajax-else-html重定向到另一个页面

在使用ajax转换为html.beginform时,是否还有其他需要注意的事项

另一个问题是,使用Ajax.Beginform和编写脚本之间是否有区别:

 $("form").submit(function () {
                $.ajax({
                     success: function (result) {
                        $('#result').html(result);
                    }
                });
        });
或者不写脚本,我只是看不出有什么区别,尽管在很多例子中我看到用户这样做。。。但问题是什么呢?如果您有:

 @using (Ajax.BeginForm("Action", "Controller", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result" }, new { @class = "form-horizontal", role = "form" }))
            {}
另一个问题是,我可以使用ajax jquery脚本来做基本相同的事情,而不是使用ajax,我可以使用Html.beginfom来做,然后在提交时使用ajax调用函数

我在使用ajax时经常看到的另一件事是,当url中出现post方法时,我有like=?length=7(我不知道这个参数来自哪里),有人知道吗

有这么多不同的方法,但没有人说什么是更好的什么是最佳实践等


如果有人能提供相关阅读的链接,我将不胜感激。

使用
@Ajax.BeginForm()
@Html.BeginForm()
,只需在页面上创建一个
,并使用Javascript/jQuery通过Ajax提交表单,两者之间没有区别。正如您所听到的,使用AJAX允许浏览器在页面上保存,并且只刷新部分DOM,而不是加载整个新页面。这通常会带来更流畅的用户体验

没有什么“正确”的方法可以做到这一点,只要你觉得舒服就行
@Ajax.BeginForm()
正是实现这一点的最快、最简单的方法。但是,如果您来自Javascript背景,并且希望自己编写所有代码,那么这样做没有什么错,只是需要花更多的时间来编写AJAX助手方法在幕后为您所做的事情

要回答您关于“最佳实践”的问题,如果您正在制作一个MVC站点,那么您应该使用可用的技术。然而,不管你选择什么,不可否认的最佳实践是选择一种做事方式,并在整个项目中坚持下去


至于要读的东西,我更喜欢书而不是网站,所以我不能帮你快速简单地解决这个问题。这也是谷歌的目的。

你真的应该让你的帖子更简洁,以说明你希望得到什么帮助。这更多的是一种遍布各地的意识流。不过,我会在你的帖子中尝试回答一个看似普遍的想法。
@AjaxBeginForm()
vs
jQuery.ajax()
——当你转向非微软技术时,从实践jQuery方法中获得的知识和技能将随你而转移
@Ajax.BeginForm
技能真的不会转移。同意。但是,如果您使用的是MS-tech,那么为什么不使用MS-tech呢?我肯定会同意,如果您不使用MS-tech,知道发生了什么,以及如何做到这一点,对于成为更好的开发人员至关重要。我明白了,因此,基本上,如果我自己编写javascript,它与ajax在后台为我所做的基本相同……对。创建页面,右键单击以查看源代码。您将看到它生成的代码。它实际上不创建任何javascript,而是通过HTML标记属性来创建。如果您想要一本书更好地理解Razor和所有MVC,请查看Adam Freeman的“Pro ASP.NET MVC 4”。如果你从头读到尾,你就会完全理解MVC的所有内涵。如果您只是需要AJAX方面的帮助,我建议您使用“头部优先AJAX”。总的来说,一旦你掌握了基本知识,这个概念就不再那么复杂了。