2015-10-27 3 views
0

Я пытаюсь получить доступ к моей модели MVC asp.net от angularjs. Я могу преобразовать модель в объект javascript, используя var model = @Html.Raw(Json.Encode(Model));, это отлично работает. Я могу получить доступ к объекту с консоли в хром.Доступ к asp.net MVC модели от AngularJS

Далее я пытаюсь создать UL wit ng-repeat - это не работает. UL не отображается на странице и ошибок нет в консоли. Может ли кто-нибудь сказать мне, что я могу делать неправильно?

<script type="text/javascript" src="/Scripts/angular.min.js"> </script> 
<script type="text/javascript" src="/Scripts/app.js"> </script> 




<h2>Heading</h2> 


    @using (Html.BeginForm()) 
{ 
    @Html.AntiForgeryToken() 

    <div class="form-horizontal" ng-app="app" ng-controller="editUser"> 

     <script type="text/javascript"> 
      var model = @Html.Raw(Json.Encode(Model)); 
      var Permissions = model.Permissions; 
     </script> 

     <h4>UserSetting</h4> 
     <hr/> 
     @Html.ValidationSummary(true, "", new {@class = "text-danger"}) 
     @Html.HiddenFor(model => model.Id) 



     <ul> 
      <li ng-repeat="permission in Permissions"> 
       <span>{{permission.Guid}}</span> 
       <p>{{permission.SatelliteAccount}}</p> 
      </li> 
     </ul> 

И мой app.js:

var app= angular.module('app', []); 

app.controller('editUser', function ($scope) { 



}); 

ответ

1

нг-повтор повторяется более $ scope.Permissions, что является неопределенным. Вы не можете повторять глобальные переменные, вам нужно определить их в угловой области в контроллере.

app.js:

var app= angular.module('app', []); 

app.controller('editUser', function ($scope) { 

    $scope.Permissions = Permissions; 

}); 
Смежные вопросы