0

I was thinking... I am used to doing the classic MVC style of using Url.Actions to call methods and then return a view (even the same view) with a view model.

But then as I thought about jquery and AJAX I thought.. .if the page (view)does not change shouldn't I always use jquery ajax for my commands???

For examples I have a MVC application that you click a button and calls a Url.Action method which performs a long running method.. so from the user point of view the browser hangs for about a minute... But if I used jquery ajax I could call that method... have it return immediately and then I could perhaps set up a timer that calls another method to show progress of this long running process...

So is my theory correct? ALWAYS use jquery ajax for methods that return the same page. ALWAYS use Url.Action for methods that return a new page.

4

1 回答 1

2

首先,你永远不会在给定的场景中使用一种实践,尝试定义一个实践将不可避免地产生坏习惯,你永远不会成为一个更好的开发人员。事情因项目而异,需求因需求而异。如果页面需要进行服务器调用而不是刷新,请使用 ajax。如果需要刷新或重定向,请使用 url.action。澄清一下,ajax 是异步 javascript 和 xml。ajax 的主要目的是使服务器调用异步,以便浏览器中没有锁定。这允许您在服务器调用发生并等待结果时执行其他逻辑。它还允许您在向服务器提交表单时不刷新/重定向。这在某些情况下可能非常有用,但在其他情况下,可能没有那么多。

范围:我是一名在 mvc4 工作的 .net 开发人员,所以我对这个特定问题有很多经验。我们制作非常大规模的 asp.net 应用程序并广泛使用这个概念。我们在整个应用程序中使用 ajax 数千次,但在某些情况下,我们仍然使用默认的 Web 表单模型通过方法将数据发送到服务器端脚本。

于 2013-04-17T15:26:02.287 回答