在ASP.NET Core 2.2应用程序中,我有一个用户页面,并且需要在该页面上获得密码重置链接
EditUser.cshtml
代码
<script>
var getUserLink = function () {
var actionLink = "@Url.Action("ResetPassword", user)";
$.getJSON(actionLink, function (data) {
$("#resetLink").html(data["resetLink"]);
});
};
</script>
EditUser.chtml.cs
代码
public class EditUserModel : PageModel
{
/// ...
public async Task<JsonResult> ResetPassword(ApplicationUserModel user)
{
var appUser = new ApplicationUser
{
UserName = user.Email,
Email = user.Email,
DisplayName = user.Name,
OrganizationID = user.OrganizationID,
EmailConfirmed = true
};
var code = await userManager.GeneratePasswordResetTokenAsync(appUser);
var callbackUrl = Url.Page("/Account/ResetPassword",
pageHandler: null,
values: new { code },
protocol: Request.Scheme);
return new JsonResult(new { resetLink = callbackUrl });
}
}
[我的意思是,当我单击cshtml
页面上的“获取”按钮时,将询问JSON,但代码未在ResetPasword
文件中输入cshtml.cs
函数。问题出在哪里?
在剃须刀页面上,您使用“处理程序”来调用对当前所在的剃须刀页面的请求。