2014-09-25 111 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