从AbpSession中获取当前正在登录的用户Id
在控制器中实现获取的方法,在JS中通过ajax获取
下面我实现的是获取当前登录页面的用户Id,在删除用户时防止把自己删除掉,就需要判断一下选中的Id是否是当前正在登录的Id
控制器代码:AbpSession中的UserId是可以为空的,但我们其实获取的时候肯定不为空
[HttpPost]
public long? GetCurrentUserId()
{
long? id = _abpSession.GetUserId();
return id;
}
JS代码:
//删除用户,在这里要判断要删除的用户是否是当前正在登录的账号,如果是,则不能删除,否则,可以删除
function deleteUser(data) {
var userid;
$.ajax({
url: "/Users/GetCurrentUserId",
type: 'POST',
contentType: 'application/html',
success: function (content) {
userid = content.result;
},
error: function (e) { }
});
if (data.id != userid) {
parent.layer.confirm('确定删除吗?', function (index) {
var targetUrl = "/Users/DeleteUser";
abp.ajax({
url: targetUrl,
data: JSON.stringify(data)
}).done(function (data) {
if (data.code == 200) {
abp.notify.success(data.msg);
loadUserList();
}
}).fail(function (jqXHR) {
parent.layer.msg(jqXHR.message, { icon: 5 });
}).always(function () {
parent.layer.close(index);
});
});
}
else {
return parent.layer.msg('不能删除当前正在登录用户!');
}
};