12

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

然而,既然 Angular 已经成熟且强大,我们希望尽可能多地使用它。

一位同事提出,理论上应该可以用 Angular JS 完全取代 Razor,我们研究了一下,似乎可行。

例如,我们可以替换Html.PartialngInclude,我们可以替换RenderBody()<ng-view>,我们可以替换循环为ng-repeat,等等。

将 Razor 放在一边并仅使用 Angular 有什么陷阱吗?我们错过了什么吗?

4

1 回答 1

4

我什至不确定你在这里有什么问题。两个引擎本质上都做同样的事情,不同之处在于 Angular JS 发生在客户端,Razor 发生在服务器上。如果渲染和逻辑不需要服务器这样做,请务必将动态部分转移到客户端。

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

于 2013-09-14T09:22:11.677 回答