Jquery 在模式弹出窗口angularJS中更改密码
我对用c#编程和使用AngularJS都是新手。 我有一个MyProfil表单中的按钮,可以打开一个弹出窗口来更改密码 这是MyProfile.html中的按钮Jquery 在模式弹出窗口angularJS中更改密码,jquery,angularjs,popup,modalpopup,Jquery,Angularjs,Popup,Modalpopup,我对用c#编程和使用AngularJS都是新手。 我有一个MyProfil表单中的按钮,可以打开一个弹出窗口来更改密码 这是MyProfile.html中的按钮 在弹出窗口中,我有两个输入“newPassword”和“confirmPassword” 还有两个按钮,一个保存,一个取消。 下面是MyProfile.html中的弹出html代码 ` 这是ModalInstanceCtrlChangePassword.js 当我有它像这样,至少我可以看到弹出窗口 "严格使用",; app.cont
在弹出窗口中,我有两个输入“newPassword”和“confirmPassword”
还有两个按钮,一个保存,一个取消。
下面是MyProfile.html中的弹出html代码
`
这是ModalInstanceCtrlChangePassword.js
当我有它像这样,至少我可以看到弹出窗口
"严格使用",;
app.controller('ModalInstanceCtrlChangePassword',函数($scope,$modalInstance,userData){
但是,当我更改$scope.changePassword中的代码并调用服务时,即使弹出窗口没有显示,也没有任何功能。
这是我添加呼叫服务后的内容:
'use strict';
app.controller('ModalInstanceCtrlChangePassword', ['$scope', '$location', 'modalService', '$cookies', function ($scope, $location, modalService, $cookies,$modalInstance ,userData) {
$scope.userData = {
emailwork:"",
newPassword: "",
confirmpassword: "",
};
$scope.userData = userData;
$scope.selectedItem = {
item: $scope.userData[0]
};
$scope.changePassword = function () {
//$modalInstance.dismiss('cancel');
modalService.changePassword($scope.userData).then(function (response) {
$location.path('/home');
},
function (err) {
alert("message " + err.error_description.message);
$scope.message = err.error_description;
});
};
$scope.cancelChangePassword = function () {
$modalInstance.dismiss('cancel');
};
}]);
这是modalService.js
'user strict';
app.factory('modalService',['$http','$q','ngAuthSettings','$cookies',函数($http,$q,ngAuthSettings,$cookies){
这是AccountController中的ChangePassword代码
// POST api/Account/ChangePassword
[System.Web.Http.Route("ChangePassword")]
public async Task<IHttpActionResult> ChangePassword(Cabin.Web.Models.ChangePasswordBindingModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var user = await UserManager.FindByEmailAsync(model.emailWork);
if (user == null) return BadRequest();
UserManager.RemovePassword(user.Id);
var result= UserManager.AddPassword(user.Id, model.NewPassword);
return !result.Succeeded ? GetErrorResult(result) : Ok();
//IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
// model.NewPassword);
}
//发布api/帐户/更改密码
[System.Web.Http.Route(“ChangePassword”)]
公共异步任务ChangePassword(cab.Web.Models.ChangePasswordBindingModel模型)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
var user=await UserManager.findbyemailsync(model.emailWork);
如果(user==null)返回BadRequest();
UserManager.RemovePassword(user.Id);
var result=UserManager.AddPassword(user.Id,model.NewPassword);
return!result.successed?GetErrorResult(result):Ok();
//IdentityResult结果=等待UserManager.ChangePasswordAsync(User.Identity.GetUserId(),model.OldPassword,
//新密码);
}
我将感谢任何形式的指导或解决方案。
谢谢请检查此项,看起来您需要一些类似于:
<div ng-include="modal.html"></div>
首先包括模态模板
'user strict';
var serviceBase = ngAuthSettings.apiServiceBaseUri;
var modalServiceFactory = {};
var _userInfo = {
companyId: "",
userName: "",
userTableId: "",
langId: "",
emailWork: "",
};
if ($cookies.userName && $cookies.userTableId && $cookies.companyId && $cookies.language) {
_userInfo.userTableId = $cookies.userTableId;
_userInfo.companyId = $cookies.companyId;
_userInfo.userName = $cookies.userName;
_userInfo.langId = $cookies.language;
_userInfo.emailWork = $cookies.emailWork;
}
var _changePassword = function (userData) {
var data = {
// OldPassword: userData.oldPassword,
emailWork: _userInfo.emailWork,
NewPassword: userData.newPassword,
ConfirmPassword: userData.confirmPassword
};
var deferred = $q.defer();
$http.post(serviceBase + 'api/Account/ChangePassword', data).success(function (response) {
//authService.logOut();
deferred.resolve(response);
}).error(function (err, status) {
//authService.logOut();
deferred.reject(err);
alert(err.data.message);
// authService.logOut();
});
return deferred.promise;
}
modalServiceFactory.changePassword = _changePassword;
return modalServiceFactory;
}]);
// POST api/Account/ChangePassword
[System.Web.Http.Route("ChangePassword")]
public async Task<IHttpActionResult> ChangePassword(Cabin.Web.Models.ChangePasswordBindingModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var user = await UserManager.FindByEmailAsync(model.emailWork);
if (user == null) return BadRequest();
UserManager.RemovePassword(user.Id);
var result= UserManager.AddPassword(user.Id, model.NewPassword);
return !result.Succeeded ? GetErrorResult(result) : Ok();
//IdentityResult result = await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword,
// model.NewPassword);
}
<div ng-include="modal.html"></div>