API идентификации на основе ролевой авторизации - регистрация не работает - PullRequest
0 голосов
/ 14 апреля 2020

Я смотрю видео на Youtube: https://www.youtube.com/watch?v=IBpZCFbjvA0, чтобы использовать API идентификации для создания пользователей на основе ролей для моего основного веб-приложения asp. net. Роль успешно создается и сохраняется в моей базе данных, но я получаю сообщение об ошибке при попытке зарегистрировать пользователя.

Ошибка: Произошло необработанное исключение при обработке запроса. ArgumentNullException: значение не может быть нулевым. Имя параметра: items вместе с полной ошибкой в ​​readme. https://github.com/tripiod8/AUTHORIZATION_EXERCISE3.git

Я новичок в изучении ASP, и я был бы очень признателен, если бы кто-нибудь мог объяснить мне, почему одно из полей списка является нулевым.

Большое спасибо!

1 Ответ

1 голос
/ 15 апреля 2020

Ошибка: Произошло необработанное исключение при обработке запроса. ArgumentNullException: значение не может быть нулевым. Имя параметра: items установите данные для selectlist в вашем обработчике сообщений.

Добавьте следующий код:

public async Task<IActionResult> OnPostAsync(string returnUrl = null)
{
    returnUrl = returnUrl ?? Url.Content("~/");
    ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
    var role = _roleManager.FindByIdAsync(Input.Name).Result;
    if (ModelState.IsValid)
    {
        //...

        foreach (var error in result.Errors)
        {
            ModelState.AddModelError(string.Empty, error.Description);
        }
    }

    ViewData["roles"] = _roleManager.Roles.ToList();

    return Page();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...