【问题标题】:Is it possible Asp.Net MVC + Breeze + Angular working together?Asp.Net MVC + Breeze + Angular 可以一起工作吗?
【发布时间】:2015-04-10 00:31:54
【问题描述】:

我正在从事一个基于 Asp.Net MVC + Breeze + Angular 的新项目。

我想为帐户使用预先创建的视图和 MVC 控制器(登录、注销、恢复密码等) 此外,我想使用 Breeze 和 Angular 添加迷你 SPA 页面。

有可能吗?

Breeze 实现了它的路由配置文件,它覆盖了 mvc 应用程序的现有路由,所以我不能同时使用它们,也不能使用微风路由和 mvc 路由。

【问题讨论】:

  • 您实际上可以将所有路由一起使用。简直是一团糟。我倾向于在我的 MVC 站点中使用 Angular 来为我提供迷你 SPA。效果很好!为什么需要使用 Breeze 和 Angular?
  • 我是从Breeze入手的,对它了解不多,但似乎是Asp.Net和angular项目之间很好的“胶水”,给Javascript客户端(客户端)带来了丰富的数据管理LINQ、缓存等)
  • 是的,这似乎是一个不错的库,我以前没有真正使用过它。您绝对可以使用 angular 和 mvc 进行路由。它们发生在一些地方,MVC 处理服务器端路由,Angular 处理客户端路由。

标签: c# asp.net-mvc breeze breeze-sharp


【解决方案1】:

所以让你开始。这是我创建的 Tip 来帮助解决所有这些 Angular 脚本问题。

在您的页面中,您可以在底部的脚本中执行此操作,以将角度模块添加到您的页面:

@section Scripts {

    <script>
        angular.module('miniSpa', ['ngRoute']).config(['$routeProvider', function ($routeProvider) {
            $routeProvider.when('/#main', { controller: "spaController", templateUrl: '/Partials/Home/Main.html' });

            $routeProvider.otherwise({ redirectTo: '/#main' });
            }])
            .controller('spaController', ['$scope', spaController]);

        function spaController($scope) {
            $scope.hello = "Hello";
        }
    </script>
}

如果你只想要 Angular 进行数据绑定,我经常这样做:

<div ng-app="page">  
    <div ng-controller="pageController">
        <h1>{{ hello }}</h1>
    </div>
</div>

@section Scripts {
    <script>
         angular.module('page', [])
             .controller('pageController', ['$scope', pageController]);

         function pageController($scope) {
              $scope.hello = "hello";
         }
    </script>
}

【讨论】:

    猜你喜欢
    • 2016-01-29
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 2013-07-09
    • 2017-02-07
    相关资源
    最近更新 更多