如何使用asp.net MVC5在angularjs中隐藏状态参数?

时间:2014-12-04 13:06:44

标签: angularjs asp.net-mvc-routing

.state('Wizard', {
 url: '/Wizard/:Email',
 templateUrl: '/Common/_Wizard',
 controller: 'Common_Wizard',

}

我们在网址中看到了电子邮件地址,如

本地主机:15646/Home/Index#/Wizard/sda@adal.com/Loan/Loan

sda@adal.com这是一个电子邮件地址。此电子邮件地址用于不同的控制器和视图。 我们如何隐藏它并访问其他控制器和视图。 我们不想使用任何本地存储或服务。

先谢谢

1 个答案:

答案 0 :(得分:1)

您可以创建服务工厂类:

angular.module('YourApp').factory('UserContext', function() {
   this.getUserEmail = function() {...}
});

封装用户(email,...)数据并将其注入每个控制器:

angular.module('YourApp').controller('FooBar', function($scope, UserContext) { 
   $scope.email = UserContext.getUserEmail();
});

您也可以将数据放入$ rootScope,但这肯定不是最好的主意。