Asp.Net结合了C#和Angular

时间:2015-12-28 02:53:21

标签: c# asp.net angularjs asp.net-mvc web-applications

我真的不知道如何结合Angular和C#。

就像我有MVC和Asp.Net提供的控制器,但我也有角度提供的控制器,所以我应该使用什么?由angular-route或MVC路由提供的路由? 在Angular中也应该有ng-repeat属性,在C#中我有foreach。

我真的不知道如何在Asp.Net中结合这两种语言? 有人可以解释我最好的方法.. 非常感谢!

2 个答案:

答案 0 :(得分:4)

有两件不同的东西。您的C#控制器将在服务器上运行,而Angular控制器将在浏览器上运行。结合使用C#+ Angular就像构建单独的应用程序一样:运行服务器端的C#(asp.net)应用程序和运行客户端的JavaScript(角度)应用程序。

C#控制器将处理http请求,而角度控制器将协调浏览器上运行的不同Angular组件的交互。

我建议您亲自动手开始:https://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/build-a-single-page-application-spa-with-aspnet-web-api-and-angularjs

答案 1 :(得分:3)

我可以想到两种可能的实现方式

  1. 分开AngularJS& C#申请 完全
    • AngularJS应用程序将是独立的应用程序,处理所有UI逻辑, 路由逻辑,UI模板,拥有自己的视图模型。
    • C#应用程序(我建议您使用WebAPI / WCF或您喜欢的任何内容)将公开HTTP端点以供AngularJS应用程序调用
    • PROS 可重用性(端点可以在任何地方使用,例如:原生移动应用),轻量级(部署包可能只包含一些js文件和html文件),灵活性(您可以轻松切换技术,例如:切换服务器端以改为使用NodeJS),服务器和放大器;客户代码可以由两个不同的团队实施......
    • 缺点:花费更多时间进行开发,需要强大的AngularJS知识,有时候不容易为初学者调试,需要额外的努力来保护端点
  2. 混合模式
    • 您可以将任何C#Web技术(MVC,WebAPI,Webform)与AngularJS结合使用,以便AngularJS代码成为您的视图或视图的一部分
    • 使用此方法,大多数应用程序逻辑仍在MVC层中处理,您可以重用模型类(需要返回JsonResult才能使它们与JS app友好)
    • PROS :应用程序更多地位于C# code => C#开发人员更容易,更容易测试(单元测试,自动测试代码),更容易实现身份验证和授权逻辑(MVC为你做),开发速度更快(在我看来)等等。
    • 缺点:请参阅 PROS 部分1:)。
  3. 希望它有所帮助。