2017-02-12 4 views
0

Ich schreibe ein Web in Mvc-Framework mit eckigen js.nicht Daten in angular js aktualisieren

meine Anwendung ist:

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

und mein Controller ist:

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"; 
    }); 
} 
}); 

und mein Service ist:

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; 
} 

});

und meine Mvc Aktion:

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"; } 
    } 

und html-Datei ist:

<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> 

die Sicht auf die Daten in Ordnung ist. aber wenn ich einen Datensatz zur Tabelle der Datenbank hinzufüge, zeige ich keine Daten an?

+0

Sie müssen die API aufrufen, um mit den neuesten Daten zu aktualisieren – Sajeetharan

+0

Wie und wo call api? – hnh

+0

auf Ihre Schaltfläche klicken – Sajeetharan

Antwort

0

Ihre Ansicht nicht Daten zu aktualisieren, weil Ihre Methode GetAllEmployee() einmal beim Laden der Seite aufgerufen wird. Sie müssen Ihre Seite aktualisieren.

+0

ok, wenn ich die Seite aktualisieren, Daten ist Update, aber ich möchte, wenn ein Datensatz löschen, Ansicht ist Update. Ich füge GetAllEmployee() in der Löschfunktion hinzu, aber nicht Daten aktualisieren. – hnh

+0

In Ihrer Löschfunktion können Sie in Mitarbeiter gelöschte Mitarbeiter löschen oder Ihre Datenbank erneut anrufen, um die neuen Mitarbeiterlisten zu erhalten –

Verwandte Themen