【发布时间】:2015-02-10 19:07:38
【问题描述】:
我在我的 ASP.net MVC 应用程序中使用 webapi 和 angularjs。一切正常,但在我的插入(发布)方法中,我需要在插入之前检查数据库中是否存在值。我不知道应该去哪里。我排除了 webapi,因为 void 不返回值。逻辑位置似乎是控制器,但我找不到从插入控制器方法中调用我的角度 getEmployee(id) 方法的正确方法。任何帮助表示赞赏。
角度控制器(帖子):
$scope.insertEmployee = function (employee) {
employeeFactory.insertEmployee(employee)
.success(function (emp) {
$scope.employee = emp;
})
.error(function (error) {
$scope.status = 'Unable to load employee data: ' + error.message;
});
};
Angular 工厂(帖子):
factory.insertEmployee = function (employee) {
url = baseAddress + "employee/insert/";
$http.post(url, employee).success(function (data) {
alert("Saved Successfully!!");
}).error(function (data) {
$scope.error = "An Error has occured while saving employee! " + data;
});
};
webapi 控制器发布方法:
[Route("api/employee/insert/")]
public void Post(Employee employee)
{
if (ModelState.IsValid)
{
context.Employee.Add(employee);
context.SaveChanges();
}
}
角度控制器(获取):
$scope.getEmployees = function (term) {
employeeFactory.getEmployees(term)
.success(function (data) {
$scope.employees = data;
})
.error(function (error) {
$scope.status = 'Unable to load employee data: ' + error.message;
});
};
【问题讨论】:
-
为什么'$scope'在'insertEmployee'里面?
-
我不知道。这是我在网上找到的一个例子。有角度的菜鸟
标签: asp.net-mvc database angularjs asp.net-web-api http-post