0
私がPostmanからFindByNameOrEmailAsyncメソッドを呼び出すと、ユーザーが返されます。しかし、いったんUIを介して値を送信すると、このメソッドはnullを返します。 この値はusernameOrEmailAddress変数にバインドされていますが、メソッドに来るとnullを返します。ABP FindByNameOrEmailAsyncメソッドがヌル値を返す
誰かが私を助けることができますか?
<input type="email" id="emailInput" class="form-control" maxlength="255" placeholder="Enter your email" required />
<button id="requestResetEmail" class="btn btn-primary btn-block btn-flat">Request password reset</button>
abp.ui.setBusy(
$('#LoginArea'),
abp.ajax({
url: abp.appPath + 'Account/ForgotPassword',
type: 'POST',
data: JSON.stringify({
usernameOrEmailAddress: $('#emailInput').val(),
returnUrl: window.location.hash
})
})
public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
{
if (ModelState.IsValid)
{
var user = await
_userManager.FindByNameOrEmailAsync(model.UsernameOrEmailAddress);
if (user == null || !(await _userManager.IsEmailConfirmedAsync(user.Id)))
{
return View("ForgotPasswordConfirmation");
}
}
else
{
return View(model);
}
}
CurrentUnitOfWork 'は現在のコンテキストには存在しません。 CurrentUnitOfWorkはサービスレイヤで使用されており、正常に動作します。この.csクラスは、ログインを実装するWebプロジェクト内にあります。私はリセットパスワード機能を実装するはずです。あなたはクラス内で識別可能なCurrentUnitOfWorkに対して何をすべきか教えてください。 – sav
'IUnitOfWorkManager'を注入し、代わりに' _unitOfWorkManager.Current'を使用してください。 – aaron
_unitOfWorkManagerがnull値を返しました。したがって_unitOfWorkManager.Begin()を追加します。その後、(_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant))を呼び出し、ユーザーを返します。ありがとうございました – sav