从Razor(asp.net)迁移到Angular JS作为模板引擎

我们使用的是ASP.NET Razor,我们大量使用Razor生成HTML,在布局中包含部分视图,以及类似的东西。

但是,现在Angular已经出局并且非常强大,我们希望尽可能多地使用它。

一位同事建议理论上应该可以用Angular JS完全取代Razor,我们对它进行了研究,看起来似乎是可行的。

例如,我们可以用Html.Partial替换Html.Partial ,我们可以用替换Html.Partial RenderBody() ,我们可以用ng-repeat替换循环等。

将Razor放在一边并仅与Angular一起工作是否有任何陷阱? 我们错过了什么吗?

我甚至不确定你有问题。 两个引擎本质上都做同样的事情,区别在于Angular JS发生在客户端上,而Razor发生在服务器上。 无论如何,如果渲染和逻辑不需要服务器这样做,则将动态部分移动到客户端。

如果我是你,我仍然会使用Razor文件生成最终的html。 在服务器上必须生成某些内容的那些时候,您可能会发现它很有用。 也许你最终可能会根据用户权限提供完全不同的控件。 这很重要,因为如果在客户端上发生安全敏感的呈现,则可能会被某人规避。 但是,如果该代码永远不会因为服务器生成它而到达 ,那么您就处于更好的位置。