Bonjour,
J'ai un problème de modification des données dans mon code à partir d'une ligne séléctionnée d'une table,je travaille avec angularJS(client) et ASP.net (services rest)
voici mon code de modification:

[Route("api/Students/modifier/{id}")]
        public async Task<HttpResponseMessage> PUT(int id, Student value)
        {
            try
            {
                _StudentService.Update(value);
                await _unitOfWorkAsync.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message);
            }
            return Request.CreateResponse(HttpStatusCode.OK);
        }

voici le code HTML:

 <table class="table table-responsive table-hover" ng-controller="etudmodifCtrl">
<thead>
</thead>
 <tbody >
 <tr ng-repeat="store in currentPageStores>
       <td align="center">{{store.LastName}}</td>
       <td align="center">{{store.FirstName}}</td>
       <td align="center">{{store.Email}}</td> 
       <td align="center" ng-controller="etuddeleteCtrl">
          <div id="myModal" class="modal fade" role="dialog" >
            <div class="modal-dialog">
              <div class="modal-content">
                <div class="modal-header">....</div>
                <div class="modal-body">
                       <div class="form-group">
                         <label>LastName</label>
                            <div class="col-sm-10">
                 <input type="text" class="form-control"  ng-model="nomet">
                            </div>
                        </div>
                        <div class="form-group">
                         <label>FirstName</label>
                            <div class="col-sm-10">
               <input type="text" class="form-control"  ng-model="prenomet">
                            </div>
                        </div>
                        <div class="form-group">
                         <label>Email</label>
                            <div class="col-sm-10">
             <input type="text" class="form-control"  ng-model="email">
                            </div>
                        </div>
                </div>
                <div class="modal-footer">
                   <button ng-click="modifetud(store.$id)">OK</button>
                </div>
            </div>  
        </div>
     //this button opens the modal in which I will modify the data
         <button ng-click="open(store.$id)" data-target="#myModal">Modify</button>
        </td>
    </tr></tbody></table>   

Le controlleur:

 .controller("etudmodifCtrl", ["$scope", "$http", function ($scope, $http) {

     //I get the data via these method and a correct Id of the selected row
                  $scope.open = function ($id) {$http(
                    {method: 'GET', url:'http://localhost:50001/api/Students/'+$id})
                         .success(......)
                             .error 
                                   }
  $scope.modifetud = function ($id) {$http(
{method: 'PUT',url:'http://localhost:50001/api/Students/modifier/'+$id,data:'{"FirstName":"'+$scope.prenomet+'","LastName":"'+$scope.nomet+'","Email"'+$scope.email+'"}'}                                                            
       )}       
    })

Le problème est que la méthode "delete" fonctionne très bien,mais pour la méthode "modifetud" de controlleur "etudmodifCtrl" j'ai toujours 1 comme Id malgré que la méthode "open" envoi correctement l'Id sélectionné à partir de la table,comment alors je peux appliquer la modification sur le Student selon l'Id sélectionné dans la table,par exemple lorsque je choisis le row avec l'Id 6 ,la méthode open() m'envoi l'ID correcte et je peux visualiser les données séléctionnées dans le modal,mais lorsque je clique sur le bouton "OK" pour appeler la méthode "modifetud" j'ai toujours 1 comme Id de plus les données à envoyés ne sont pas envoyés(la modification n'a pas été appliquée )

la requête à envoyé dans le navigateur:

merci pour l'aide

Aucune réponse