我是關於ASP網絡與angularjs耦合。 我有一個主要的佈局和2個內容頁面 我想花我的全局變量在page1到page2。 我使用提供者來傳遞變量。 這是我的問題:我只是無法在我的page2中獲得一個變量。ASP_MVC5 - 角度 - 與提供商共享變量
我的佈局頁:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Mon application ASP.NET</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body ng-app="MainApp">
<div class="container body-content">
@RenderBody()
<hr />
<footer>
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
</footer>
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
<script src="~/Scripts/angular.js"></script>
<script src="~/MyScripts/MainApp.js"></script>
<script src="~/MyScripts/Page1Ctrl.js"></script>
<script src="~/MyScripts/Page2Ctrl.js"></script>
<script src="~/MyScripts/GlobalParam.js"></script>
</body>
</html>
我第1頁:
@{
ViewBag.Title = "¨Page1";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<div ng-controller="Page1Ctrl">
<p><a class="btn btn-default" ng-click="passVariable('5')">Pass variable (5) to Page2 with provider</a></p>
</div>
我的第2頁:
@{
ViewBag.Title = "¨Page2";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<div ng-controller="Page2Ctrl">
<label>received value : {{reveiveValue}}</label>
</div>
我的主要APP:
var MainApp = angular.module('MainApp',
[
'Page1App',
'Page2App',
'GlobalParam'
]);
我pageCtrl1:
'use strict';
var Page1App = angular.module('Page1App', ['GlobalParam'])
Page1App.controller('Page1Ctrl', function ($scope, $window, Param) {
$scope.passVariable = function (val) {
$scope.shared = val;
$window.location.href = '/Home/Page2';
}
})
我pageCtrl2:
'use strict';
var Page2App = angular.module('Page2App', ['GlobalParam'])
Page2App.controller('Page2Ctrl', function ($scope, Param) {
$scope.reveiveValue = Param.value;
})
我的服務:
angular.module('GlobalParam', [])
.provider('Param', [function() {
this.$get = ['$http', '$q',
function ($http, $q) {
return {
value:0
};
}];
}])
感謝你的幫助
哦!我非常感謝你,我明白。 我將用ui-route進行測試,稍後再回來。 我想SPA應用 – ALFA
OK,所以如果你想有一個SPA應用程序,你一定要簽出該UI的路由器,有一個非常纖薄* * MVC控制器,它僅提供這將是您的SPA應用程序的主機的單一視圖。然後,您的SPA應用程序可以對服務器端API進行異步調用以獲取數據。 –
https://github.com/dotnetcurry/SPA-Angularjs-ASPNET-WebAPI/tree/master/MVC_Using_Angular。 – ALFA