9

我一直在http://www.asp.net/single-page-application/an-introduction-to-spa阅读 MVC 4 SPA 。

即使在阅读之后,我也不清楚我应该在什么情况下使用 SPA。通过查看上面链接上的几个示例,看起来控制器保持不变。MVC Web Page 与 SPA 的区别在于 SPA 包含大量 Javascript 框架吗?如果我们将这些 Java Script 框架(Jquery、Knockout、Upshot 等)与 MVC Web 一起使用,我们可以实现与 SPA 相同的结果吗?或 SPA 意味着整个 Web 应用程序的一个页面?

另外,我们是否会为 SPA 使用布局页面?

谢谢你的澄清。希望有人不会 - 投票。

4

1 回答 1

11

所以从我的理解 SPA 只是一个项目模板,它显示了创建单页应用程序的模式。您可以在以前版本的 MVC 中执行此操作,但 MVC 4 有更多工具可以使其更容易并显示模式。

这方面的一个例子是 trello.com。当您使用该软件时,它感觉不像是一个常规网站,您可以在其中有页面刷新的请求和响应。一切都是在客户端使用你提到的那些 javascript 框架完成的。

您的控制器构建了一个数据 api(因此是新的 api 控制器),它允许您在服务器上执行操作并以 JSON 格式返回原始数据,或者您可以在需要时返回 html。

但是每一次对服务器的调用都是通过客户端框架的 AJAX 调用。您永远不会使用常规标签来指导您执行不同的页面并刷新整个页面。

因此,您将使用 SPA 的场景是,如果您正在创建某种 Web 应用程序(如 trello),您希望它在其中真正感觉像一个桌面应用程序。

于 2012-04-29T21:17:00.730 回答