2017-02-12 21 views
0

Я пишу web в mvc-каркасе с угловыми js.не обновляющиеся данные в угловых js

мое приложение:

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

и мой контроллер:

app.controller("EmpCtrl", function ($scope, EmployeeService) { 
GetAllEmployee(); 
function GetAllEmployee() { 

    var getAllEmployee = EmployeeService.getEmployee(); 
    getAllEmployee.then(function (emp) { 
     $scope.employees = emp.data; 

    }, function() { 
     alert('data not found'); 
    }); 
} 


$scope.deleteEmployee = function (id) { 
    var getData = EmployeeService.DeleteEmp(id); 
    getData.then(function (msg) { 
     GetAllEmployee(); 
     alert('Employee Deleted...'); 
     $scope.h1message = true; 
     $scope.message = "ED"; 
    }, function() { 
     $scope.h1message = true; 
     $scope.message = "Error in Deleting Record"; 
    }); 
} 
}); 

и моя служба:

app.service("EmployeeService", function ($http) { 
this.getEmployee = function() { 
    debugger; 
    return $http.get("/EmployeeModels/GetAllEmployee"); 
}; 

//Delete Employee 
this.DeleteEmp = function (employeeId) { 
    var response = $http({ 
     method: "post", 
     url: "/EmployeeModels/deleteEmployee", 
     params: { 
      employeeId: JSON.stringify(employeeId) 
     } 
    }); 
    return response; 
} 

});

и мой MVC действие:

private ApplicationDbContext db = new ApplicationDbContext(); 

    public JsonResult GetAllEmployee() 
    { 
     using (ApplicationDbContext db = new ApplicationDbContext()) 
     { 
      var employeeList = db.EmployeeModels.ToList(); 
      return Json(employeeList, JsonRequestBehavior.AllowGet); 
     } 
    } 

    //DeleteEmployee 
    public string DeleteEmployee(string employeeId) 
    { 
     if (employeeId != null) 
     { 
      int no = Convert.ToInt32(employeeId); 
      var employeeList = db.EmployeeModels.Find(no); 
      db.EmployeeModels.Remove(employeeList); 
      db.SaveChanges(); 
      return "Employee Deleted"; 
     } 
     else { return "Invalid Employee"; } 
    } 

и HTML файл:

<div ng-app="AngularApp" ng-init="name='hn';backGroundColor='red'; 
person={firstname:'jo',lastname:'hary'}"> 
<div ng-controller="EmpCtrl"> 
    <table border="1" width="100%"> 
     <tr> 
      <th ng-click="orderByMe('emp.EmployeeId')">employee id</th> 
      <th ng-click="orderByMe('Address')">addres</th> 
      <th ng-click="orderByMe('EmailId')">email id</th> 
      <th ng-click="orderByMe('EmployeeName')">employee name</th> 
     </tr> 
     <tr ng-repeat="emp in employees|orderBy:orderByMe"> 
      <td> {{emp.EmployeeId}}</td> 
      <td> {{emp.Address}}</td> 
      <td>{{emp.EmailId}}</td> 
      <td>{{emp.EmployeeName}}</td> 
      <td><a data-ng-click="deleteEmployee(emp.EmployeeId)" style="cursor:pointer;">delete</a></td> 
     </tr> 
    </table> 
</div> 

вид данных в порядке. но когда я добавляю запись в таблицу базы данных, не обновляю данные?

+0

вам нужно позвонить api для обновления с последними данными – Sajeetharan

+0

Как и где вызывать api? – hnh

+0

на вашей кнопке нажмите – Sajeetharan

ответ

0

Ваш взгляд не обновляет данные, потому что ваш метод GetAllEmployee() вызывается один раз, при загрузке страницы. вам нужно обновить страницу.

+0

ok, когда я обновляю страницу, данные обновляются, но я хочу, когда запись удаляется, просмотр обновляется. Я добавляю GetAllEmployee() в функцию удаления, но не обновляю данные. – hnh

+0

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

Смежные вопросы