отправить значение контроллеру в angularjs и вернуть массив - PullRequest
0 голосов
/ 08 мая 2018

Я хочу отправить код в контроллер и вернуть массив

При нажатии li вы должны отправить код на контроллер, в этом случае я настраиваю пример 7. Как только код поступит на контроллер, у меня будет список, который я должен показать в нг повторить в таблице

SCRIPT

<script type="text/javascript">

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

    app.value('studentInfo', [
      { id: 1, name: 'Mahedee Hasan', credit: 20, semester: '8th' },
      { id: 3, name: 'Enamul Haque', credit: 15, semester: '7th' }
    ]);

    app.controller('myCtrl', ['$scope', 'studentInfo', function ($scope, studentInfo, $http, $window) {
        $scope.myClickList = function () {
            $scope.studentInfo = studentInfo;
        };

        var Cod = "7";
        $scope.myDataCountry = [];
        $scope.ButtonCountry = function (Cod) {
            $http.
                post("/Country/Angular", { CodH: Cod }).success(function (result) {
                $scope.myDataCountry = result;
            });
        };

    }]
  );
</script>

1012 * VIEW *

<li><a data-toggle="tab" href="#calificaciones" ng-click="ButtonCountry ()"><span>Country</span></a></li>


    <div ng-app="myApp" ng-controller="myCtrl">
<table class="table">
    <tr>
        <th>ID</th>
        <th>Country</th>
    </tr>
    <tr ng-repeat="C in myDataCountry">
        <td>{{C.ID}}</td>
        <td>{{C.Country}}</td>
    </tr>
</table>
    </div>

CONTROLLER

    public JsonResult Angular(string codCountry)
    {

        var country = (from a in dbCountry.Country
                         where a.CodPersona == codCountry
                         select a.Country).ToList();

        return Json(country , JsonRequestBehavior.AllowGet);
    }

Я пробовал это и до

1 Ответ

0 голосов
/ 08 мая 2018

Во-первых, ваш элемент li не находится в директиве вашего приложения, что означает, что он не будет определять функцию, вам нужно убедиться, что ваш элемент li находится в области приложения

<!-- li is outside the scope --> 
<li><a data-toggle="tab" href="#calificaciones" ng-click="ButtonCountry(1)"><span>Country</span></a></li>
    <div ng-app="myApp" ng-controller="myCtrl">
<!-- end --> 

<!-- li is within the scope --> 

    <div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li><a data-toggle="tab" href="#calificaciones" ng-click="ButtonCountry(1)"><span>Country</span></a></li></ul> 
<!-- end --> 

Конечно, вам нужно изменить свои HTML-элементы, что означает, что ul родительский элемент для li большинства также будет включен.

ваш URL-адрес действия неверен, ваш контроллер показывает, что имя действия CalificacionesAngular, но вы по какой-то причине используете Angular, я заметил, что вы никогда не передавали код своей функции, что означает это

ng-click="ButtonCountry ()" 
 //should be this 
ng-click="ButtonCountry('thecode')" 

и данные, которые вы публикуете, не похожи на имя параметра, Вы должны изменить это

post("/Country/Angular", { CodH: Cod })
//to this 
post("/Country/CalificacionesAngular", { codCountry: Cod })

могут быть еще некоторые проблемы, это те, которые я мог видеть до сих пор, пожалуйста, отладьте и предоставьте более подробную информацию об ошибке, которую вы получаете. Хороший пример, который вы также можете проверить, это это и это , и я предлагаю прочитать о директивах , Binding , scope и События

...