OnPostAsyn c возвращает 400 - PullRequest
       29

OnPostAsyn c возвращает 400

0 голосов
/ 26 февраля 2020

Я создаю страницу Razor, но она OnPostAsyn c возвращает HTTP 400, а GET в порядке.

Когда пользователь нажимает кнопку «Создать пользователя», он отправляет запрос на публикацию на текущую страницу, но возвращает HTTP 400.

Страница бритвы:

@page
@model MySite.CreateUserModel
@{
    ViewData["Title"] = "Create user";
    Layout = "/Views/Shared/_Layout.cshtml";
}

<h1>@ViewData["Title"]</h1>
<div>
    <form method="post">
        ...
        <button type="submit" class="btn btn-primary">Create user</button>
    </form>
</div>

Модель страницы бритвы:

namespace MySite
{
    public class CreateUserModel : PageModel
    {
        ...
        public async Task<IActionResult> OnPostAsync()
        {
            if(ModelState.IsValid)
            {
                IdentityUser identityUser =
                    new IdentityUser()
                    {
                        UserName = Input.Email,
                        Email = Input.Email,
                        PhoneNumber = Input.Phone,
                        EmailConfirmed = Input.EmailConfirmed,
                        PhoneNumberConfirmed = Input.PhoneConfirmed,
                        TwoFactorEnabled = Input.TwoFactorAuthentication
                    };
                IdentityResult result = await _userManager.CreateAsync(identityUser, 
                    Input.Password);
                if(result.Succeeded)
                {
                    _logger.LogInformation("A new user with password is created");
                    return Redirect("/Administrator/UserManagement");
                }
                foreach(IdentityError error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }
            return Page();
        }
    }
}
...