我正在尝试创建一个功能,使您可以编辑注册用户。我正在尝试编辑名字,姓氏和电子邮件。在这种方法中,我得到了写入输入字段的内容,但是Id为null,因此editedUser自然也总是为null。如何将用户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: "[email protected]", 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
从客户端发送,这样您就可以在模型中拥有它,并且解决了null问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句