是否可以删除我的ASP.net路由模块并在我的asp.net应用程序中包含角度路由和SPA功能?
做同样的事情会有什么好处吗?
答案 0 :(得分:0)
我不确定我们是否在同一页,但我相信你误解了每个人的目的。 ASP.NET的路由功能和Angular(或任何SPA)的路由功能不是竞争技术,它们用于完全不同的目的。
ASP.NET路由器的职责是将传入的请求“路由”到服务器,简单地说就是将URL映射到控制器操作。
Angular(或任何SPA路由器)的责任是“跟踪”您在客户端应用程序中的位置。这使不同的事情成为可能。例如,它允许您与您的大学共享链接,以便他将与您共享链接时在应用程序的同一部分登陆。将其与常规DOM hackery进行比较,在这种情况下,您只需根据用户交互隐藏/显示元素。在这种情况下(除非您自己提供解决方案),重新打开页面后,它将显示为默认状态。
当您浏览客户端时,正在运行的是Angular路由器。但是,在大多数情况下,客户端SPA仍然需要数据,这些数据由某些后端(可能是ASP.NET后端)提供。要实现这一点,您需要执行 - 例如 - AJAX调用以从服务器检索数据。这就是ASP.NET路由器发挥作用的重点,因为它是将您的AJAX请求映射到适当的控制器操作的路由器。此方案与常规网站的唯一区别在于您的控制器操作旨在为(例如)消耗JSON的客户端提供服务。
我希望这是一个简单的解释,以清除这些。