Lesen Sie die zurückgegebenen JSON-Daten von MVC-controller in Eckigen controller

Ich bin sehr neu in AngularJS, bitte akzeptieren Sie meine Entschuldigung, wenn diese Frage ist leicht. Ich hoffe auch, dass der Titel der Frage ist verständlich?

Ich bin mit AngularJS mit ASP.Net MVC-Anwendung bereit, die Daten aus SQL server-Tabelle und dann die Daten anzeigen, die auf der Ansicht. Sieht alles gut aus, aber wenn ich versuche, einen Schritt nach vorn für fortgeschrittene Aufgaben, ich finde heraus, dass ich bin nicht in der Lage zu Lesen, wird das Objekt aus Winkel-Modul.

Zum Beispiel, ich möchte zum Lesen der Kontaktdaten eines Benutzers jeder Benutzer hat unterschiedliche Anzahl von Kontakten. So, die ng-repear limitTo sollten nicht die gleichen sein. Zu tun, dass wollte ich Lesen Sie einige Daten und dann setzen Sie eine variable, um die Anzahl der Elemente, die ich gefunden habe auf die Datenbank, und verwenden Sie dann die variable in mein ng-repear limitTo

Dies ist ein Teil meiner Sicht:

<table>
<tr ng-repeat="contact in users | limitTo:loopVar">
    <td>
        <div ng-show="!contactsElements" class="item_list">{{contact.contacts + " (" + contact.contactDesc + ")"}}</div>
    </td>
</tr>

Wo loopView ist die variable, die ich verwenden möchten

Dies ist die Eckige module/controller:

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

myApp.controller('mainController', function ($scope, $http) {
$http.get('/Home/GetUser')
    .success(function (result) {
        $scope.users = result;
    })
    .error(function (data) {
        console.log(data);
    });

\\HOW I CAN SET THE loopVar HERE SO I CAN USE IT IN MY VIEW??
}

Den MVC-controller unter:

public JsonResult GetUser()
    {
        User userData = (User)Session["user"];            
        var db = new testDBEntities();
        return this.Json((from userObj in db.Users
                          join uc in db.UserContacts
                          on userObj.Id equals uc.usrID
                          join us in db.Users
                          on userObj.usrSupervisor equals us.Id
                          where userObj.Id.Equals(userData.Id)
                          select new
                          {
                              Id = userObj.Id,
                              usrNme = userObj.usrNme,
                              fName = userObj.usrFirstName,
                              lName = userObj.usrLastName,
                              ssno = userObj.usrSSN,
                              contacts = uc.usrContact,
                              contactDesc = uc.usrContactDescription,
                          })
                          , JsonRequestBehavior.AllowGet
                        );
    }

Ich hoffe, Sie verstehen meinen Punkt... Im Allgemeinen, wie ich Lesen kann, die zurückgegeben JSON Objekt in meinem Winkel-controller, bevor Sie es in meinem Blick? Wie Sie sehen können, bin ich in der Lage, Daten zu Lesen, in meiner Sicht mit ng-repeat Richtlinie, aber ich weiß nicht, wie bereit die einzelnen Bereich in meinem Angular controller.

Danke

  • wo ist loopVar definiert? es scheint nicht eine Eigenschaft des users array vom server kommt....
  • Ich habe es nicht noch, ich will wissen, wie ich Lesen kann, einige Datenbank-Objekt aus der zurückgegebenen JSON in das Eckige-controller und weisen Sie dann diesen Wert in $Umfang.looVar
  • weisen Sie im inneren der .success Rückruf, auf die gleiche Weise zugewiesen $scope.users. Wenn Sie versuchen, ordnen Sie es außerhalb der .success, ist der Wert nicht vorhanden ist, weil die Antwort wurde noch nicht vom server zurückgegeben noch (async). möchten Sie vielleicht zu Lesen, auf async wenn Sie unsicher sind. es ist auch erwähnenswert, .success ist veraltet und es wird empfohlen, dass Sie verwenden .then statt.
  • Ich danke Ihnen sehr für Ihren Kommentar. Okay, wenn Sie sehen, dass mein code, ich bin die Zuordnung des gesamten Objekts zu $scope.users=result im .success. Und es ist richtig... Was ist, wenn ich Lesen möchte einen bestimmten Frieden von Daten? Wie der Benutzername $scope.username=result.usrNme... das ist Das was ich Suche zu tun, nicht mit Glück so weit.
  • wenn result ist ein einzelnes Objekt, dann sollte das korrekt funktionieren, vorausgesetzt, dass es innerhalb der .success....
InformationsquelleAutor Ahmad Shli | 2016-06-15
Schreibe einen Kommentar