2014-09-25 73 views
0

我正在用AngularJS编写ASP.NET应用程序。我有一个只能从页面的代码隐藏中访问的值。我想将此值传递给AngularJS控制器。我知道可以获取URL参数以便在AngularJS中使用,但是我一直无法找到任何其他方式让我的控制器获得一个值。这可能吗?AngularJS变量从服务器端

举例来说,如果我有这样的设置:

<%= user.UserDescription %> <%-- this is how I'd get my value from the codebehind --%> 
<div ng-app='myApp' ng-controller='myController1'></div> 
... 
</div> 

我想myController1不得不user.UserDescription访问。如上所示,通过将C#嵌入到ASP.NET页面中,显然可以将值放在页面上的任何位置,但可以将它传递到控制器吗?

回答

1

我有一个类似的问题,因为我有严重的侧面配置,我希望客户端应用程序知道。我想出的解决方案是一个配置常量,我将添加到页面的底部。然后装到这一点我的服务,等等....

像这样的事情

<html> 
    <head> 
     .... 
    </head> 
    .... 

    <body> 
     <script> 
      (function(){ 
       'use strict'; 
       angular.module('myapp.config',[]) 
       .constant('CONFIG', { 
        user: { 
         description: '<%= user.UserDescription %>' 
        } 
       }); 
      })(); 
     </script> 
    </body> 
</html> 
+0

那你怎么能叫,从没有它你大喊大叫控制器,它不存在? – muttley91 2014-09-25 20:16:02

+0

不知道,从任何控制器调用时,它似乎只是“未定义”。 – muttley91 2014-09-25 20:23:05

+0

http://plnkr.co/edit/OgsNzAHhW7shaf4yVVaf?p=预览我所指的简单例子。 – 2014-09-25 20:24:46