我一直在http://www.asp.net/single-page-application/an-introduction-to-spa阅读MVC 4 SPA。
即使在阅读之后我也不清楚我应该在什么情况下使用SPA。通过查看上面链接上的几个示例,看起来控制器保持不变。 MVC网页与SPA之间的区别在于SPA是否包含许多Javascript框架?如果我们将这些Java Script框架(Jquery,Knockout,Upshot等)与MVC Web一起使用,我们可以获得与SPA相同的结果吗? OR SPA是指整个网络应用程序的一页?
另外,我们是否正在使用SPA的布局页面?
谢谢你的澄清。希望有人不会 - 投票。
答案 0 :(得分:11)
因此,从我的理解SPA只是一个项目模板,它显示了创建单页面应用程序的模式。您可以在以前版本的MVC中执行此操作,但MVC 4还有一些工具可以使它更容易并显示模式。
这方面的一个例子是trello.com。当您使用该软件时,它不像常规网站那样您有页面刷新的请求和响应。一切都在客户端使用像你提到的那样的javascript框架完成。
您的控制器构建了一个数据api(因此是新的api控制器),它允许您在服务器上执行操作并以JSON格式返回原始数据,或者如果需要,您可以返回html。
但是每次回调服务器都会通过客户端框架进行AJAX调用。你永远不会使用常规标签来指导你做一个不同的页面并进行整个页面刷新。
因此,如果您要创建某种类型的网络应用程序(例如trello),您希望它真正感觉像桌面应用程序一样,那么您将使用SPA的情况。