使用 MVC 和 AngularJS 和 Entity Framework 编辑表格行
Editing a tablerow with MVC and AngularJS and Entity Framework
我正在尝试创建一个使您能够编辑注册用户的功能。我正在尝试编辑名字、姓氏和电子邮件。
在这种方法中,我得到了写入输入字段的内容,但 Id 为空,因此 editedUser 自然也始终为空。如何将用户 ID 放入方法中,以便将 editedUser 设置为正在编辑的用户?
[HttpPost]
public User EditUser([FromBody]EditUserModel model)
{
var editedUser = db.Users.FirstOrDefault(u => u.UserID == model.Id);
editedUser.FirstName = model.FirstName;
editedUser.LastName = model.LastName;
editedUser.Email = model.Email;
db.SaveChanges();
return editedUser;
我的 js 函数是什么样的:
服务:
editUser: function (user) {
return $http.post('/api/userspa', user)
控制器:
$scope.editUser = function () {
var user = $scope.selectedUser;
UserService.editUser(user).success(function (data) {
console.log('Updated', data)
})
来自开发者控制台:“
您点击了:Object {UserID: 58, FirstName: "test1", LastName: "testsson", Email: "testEdit@test.se", RegistrationDate: "2015-01-14T15:48:04.777"}
"
编辑:添加了 js 控制器。
angular.module('myApp')
.controller('userCtrl', ['$scope', '$http', 'UserService', function ($scope, $http, UserService) {
UserService.getUsers()
.success(function (data) {
$scope.users = data;
})
.error(function () {
$scope.error = "Couldnt load data or there was none.";
}
)
$scope.selectUser = function (user) {
UserService.getUser(user.UserID).success(function (data) {
console.log("user ", data);
$scope.selectedUser = user;
})
}
$scope.editUser = function () {
var user = $scope.selectedUser;
UserService.editUser(user).success(function (data) {
console.log('Updated', data)
}).
error(function () {
$scope.error = console.log('Something went wrong')
});
}
根据我们在评论中讨论的内容,解决方法是也从客户端发送 ID
,这样您就可以在模型中使用它,并且空问题得到解决。
我正在尝试创建一个使您能够编辑注册用户的功能。我正在尝试编辑名字、姓氏和电子邮件。 在这种方法中,我得到了写入输入字段的内容,但 Id 为空,因此 editedUser 自然也始终为空。如何将用户 ID 放入方法中,以便将 editedUser 设置为正在编辑的用户?
[HttpPost]
public User EditUser([FromBody]EditUserModel model)
{
var editedUser = db.Users.FirstOrDefault(u => u.UserID == model.Id);
editedUser.FirstName = model.FirstName;
editedUser.LastName = model.LastName;
editedUser.Email = model.Email;
db.SaveChanges();
return editedUser;
我的 js 函数是什么样的:
服务:
editUser: function (user) {
return $http.post('/api/userspa', user)
控制器:
$scope.editUser = function () {
var user = $scope.selectedUser;
UserService.editUser(user).success(function (data) {
console.log('Updated', data)
})
来自开发者控制台:“
您点击了:Object {UserID: 58, FirstName: "test1", LastName: "testsson", Email: "testEdit@test.se", RegistrationDate: "2015-01-14T15:48:04.777"}
"
编辑:添加了 js 控制器。
angular.module('myApp')
.controller('userCtrl', ['$scope', '$http', 'UserService', function ($scope, $http, UserService) {
UserService.getUsers()
.success(function (data) {
$scope.users = data;
})
.error(function () {
$scope.error = "Couldnt load data or there was none.";
}
)
$scope.selectUser = function (user) {
UserService.getUser(user.UserID).success(function (data) {
console.log("user ", data);
$scope.selectedUser = user;
})
}
$scope.editUser = function () {
var user = $scope.selectedUser;
UserService.editUser(user).success(function (data) {
console.log('Updated', data)
}).
error(function () {
$scope.error = console.log('Something went wrong')
});
}
根据我们在评论中讨论的内容,解决方法是也从客户端发送 ID
,这样您就可以在模型中使用它,并且空问题得到解决。