2015-06-05 25 views
2

因此,我使用ASP.NET和MVC 5.我有一個名爲'Employee'的模型,它包含'FirstName'值。我有一個Employees列表,我試圖用angular來獲取Employee中的所有'FirstName',只是簡單地將它們顯示在列表中。

我假設我需要一個範圍來做到這一點,所以我如何分配所有的名字值到一個範圍?

下面是一些代碼

// Controller.js 
 

 
var myApp = angular.module('myModule', []); 
 
myApp.controller('myController', function ($scope) { 
 
    $scope firstnames; 
 
});

Index.cshtml 
 

 
@model IEnumerable<Test.Models.Employee> 
 

 
<html ng-app="myModule"> 
 
    <div ng-controller="myController"> 
 
     <script> 
 
      var nameArray = []; 
 
      @foreach (var d in Model) 
 
      { 
 
       @:nameArray.push("@d.FirstName"); 
 
      } 
 

 
      firstnames = nameArray; 
 
     </script> 
 

 
     <li ng-repeat="name in firstnames"> 
 
      {{name}} 
 
     </li> 
 
    </div> 
 
</html>

所以腳本作品在這個意義上,它收集的所有值的成功,但我不能把它傳遞給範圍。

我在網上看,人們使用$ http或JSON序列化。我試圖實現我看到的一些例子,但無濟於事。誰能幫我嗎?

回答

0

<html>沒有<body>標記?無論如何,請嘗試在實際控制器代碼內部執行模型推送(我將html更改爲div

@model IEnumerable<Test.Models.Employee> 

<div ng-app="myModule"> 
    <div ng-controller="myController">  
    <li ng-repeat="name in firstnames"> 
     {{name}} 
    </li> 
    </div> 
</div> 

<script> 
    var myApp = angular.module('myModule', []); 
    myApp.controller('myController', function ($scope) { 
    $scope.firstnames = [] 
    @foreach (var d in Model) 
    { 
     @:$scope.firstnames.push("@d.FirstName"); 
    } 
    }); 
</script>