ASP.NET Core中的单页面与多页面角度应用程序

时间:2018-04-08 06:43:32

标签: asp.net asp.net-mvc angular asp.net-core single-page-application

我是一个有角度的初学者,目前正在完成一些有角度的教程。几年前我有一些ASP.NET MVC经验。

我认为我想了解的是我是否应该尝试将我的应用程序设计为SINGLE或MULTI页面应用程序。

据我所知,在Angular和ASP.NET CORE应用程序方面,有两种主要的思想流派:

  • 创建一个服务于单个页面的简单ASP.NET CORE应用程序。该页面将是一个单页角度应用程序,它将处理自己的路由等,呈现各种不同的视图,并可能使用通过ASP.NET公开的API获取数据
  • 创建一个多页面的ASP.NET CORE应用程序,提供许多不同的页面,每个页面都是一个剃刀页面,其中一部分是一个角度应用程序

我理解这是对的吗?我认为单页应用程序对我来说很有意义,但我确实发现我对多页面方法很困惑...我不太清楚多页面应用程序的哪个部分应该填充角度以及是否每个单页应该是它自己的角度应用程序。

我试图寻找两者的比较,但却找不到任何体面的东西。 :(

3 个答案:

答案 0 :(得分:0)

在多页应用程序中,客户端(浏览器)通常向服务器发送页面请求以启动通信。然后,服务器处理请求并将页面的HTML发送到客户端(浏览器)。对于每个请求服务器将完整的html发送到客户端,而不是将修补程序html加载到客户端。

在单页面应用程序(SPA)中,首先整个页面由初始请求加载到客户端,之后后续操作必须通过Ajax请求更新,无需重新加载整页。 SPA通过响应用户操作减少了时间,结果是更流畅的体验。

答案 1 :(得分:0)

我认为您使用的分类不正确。 对我来说是

  1. 传统的“多页”应用程序:在服务器(即MVC和Razor)上生成的HTML,并在每次请求时推送到浏览器。
  2. 单页应用程序(SPA):HTML从服务器一次下载并通过Javascript(即Angular)在客户端上进行操作。

可能您是在谈论“多个”“单页应用程序”,将复杂的SPA分解为较小的SPA。

也就是说,您可以在同一网站上发布“用户” SPA和“管理员” SPA。

答案 2 :(得分:0)

如果您想在Asp.net Core MVC解决方案中构建单页应用程序(基于ajax)而不使用任何第三方JavaScript框架,那么更好的是,您必须查看此github存储库。 https://github.com/KishorNaik/Sol_Ajax_Spa_MVC_Core