c# - ASP.NET MVC 或 ASP.NET Web API + AngularJS

标签 c# .net asp.net-mvc angularjs asp.net-web-api

<分区>

对于MVC、Web API、AngularJS这三种技术,我都有一定的经验。

但我单独使用 MVC + jQuery,单独使用 Web API + AngularJS。

我找到了 some articles关于混合 MVC + AngularJS,但实际上我没有明白这一点:为什么我需要混合它们?

所以我现在的问题是: - 将“MVC + AngularJS”与“Web API + AngularJS”混合使用的优缺点是什么

编辑:如何通过混合使用 MVC + Angular 来获得最佳效果? 或者通过使用 Web API +Angular 我不会错过任何东西(我认为是这种情况)? 或者,如果我决定单独使用 Web API + Angular,特别是当我以 SPA 为目标时,我会错过 MVC 的什么?

最佳答案

与 Web API + Angular 相比,使用 MVC + Angular 的主要优势在于您的服务器可以在将 View 发送到客户端之前直接操作 View 中的 html 标记。在 Web API 的情况下,服务器只产生一个 json 序列化模型, View 完全是 Angular 的关注点。

另一个更喜欢 MVC 方法的原因是,如果您不想使用 Angular 的全部功能。例如,您可能会选择使用 MVC 进行路由而不是 Angular 路由提供程序。

MVC + Angular 方法的一个缺点是您的 html 标记将包含混合的 angular 和 razor 代码。这可能会降低它的可读性,并且任何从事它工作的人都必须能够使用两种语言。

此外,如果您最终只使用 Angular 的一小部分,这可能是一个很好的迹象,表明您本可以使用更简单的 JavaScript 框架。例如,如果您只使用模型绑定(bind),则可以使用 Knockout .

最后,您可以考虑将 MVC 和 Web API 与 Angular 一起使用,以实现两全其美。例如,您可以将 MVC View 用于与 SEO 相关的标记,并使用 Web API 来公开您的模型。

关于c# - ASP.NET MVC 或 ASP.NET Web API + AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30097371/

相关文章:

javascript - c# asp.net数组对应js数组

c# - native C# : Reconstructing a Decimal number from its bit representation

c# - 添加了来自变量的文本的多行字符串

javascript - 附加了奇怪的 jQuery 查询字符串

c# - 使用 StringContent 访问 HttpResponseMessge 中的 JSON 对象

.net - Windows 10 内置了哪个.Net 版本?

c# - TransactionScope 超时过早发生?

c# - SQL Server 中的 BetaInv 函数

ASP.NET MVC : Click on a button to redirect based on drop down list's value

c# - 无法同时路由到 "{controller}/{action}/{id}"和 "{controller}/{id}"