C# 不刷新angular js中的数据
我用AngularJS在mvc框架中编写了一个web 我的申请是:C# 不刷新angular js中的数据,c#,angularjs,asp.net-mvc,entity-framework,C#,Angularjs,Asp.net Mvc,Entity Framework,我用AngularJS在mvc框架中编写了一个web 我的申请是: var app = angular.module("AngularApp", []); 我的控制器是: app.controller("EmpCtrl", function ($scope, EmployeeService) { GetAllEmployee(); function GetAllEmployee() { var getAllEmployee = EmployeeService.getEmployee(
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>
员工id
地址
电子邮件id
员工姓名
{{emp.EmployeeId}
{{emp.Address}
{{emp.EmailId}
{{emp.EmployeeName}
删除
数据视图正常。但当我将记录添加到数据库的表中时,查看不刷新数据?您的视图不刷新数据,因为在加载页面时,您的方法GetAllEmployee()被调用一次。您需要刷新页面。您需要调用api以更新最新的数据方式和调用api的位置?在按钮上单击What is instruction?我将删除操作添加到上述代码中。我添加了“GetAllEmployee();”来删除方法。但当我删除一条记录时,视图不会更新。请再次检查代码。当我刷新页面时,数据是更新的,但当记录是删除时,视图是更新的。我在delete函数中添加了GetAllEmployee(),但没有刷新数据。在delete函数中,您可以删除employees中删除的emp,或者再次调用数据库以获取新的员工列表