Ich habe Problem beim Laden von Benutzerobjekt mit FindByIdAsync (FindByIdEmailAsync, FindByNameAsync funktioniert auch nicht in diesem speziellen Fall). FindByIdAsync gibt null zurück.FindByIdAsync gibt null Benutzerobjekt, Dotnet-Core 2.0
IdentityController.cs
public class IdentityController : Controller
{
private readonly UserManager<ApplicationUser> userManager;
private readonly IIdentityService identity;
private readonly RoleManager<IdentityRole> roleManager;
public IdentityController(UserManager<ApplicationUser> userManager,
IIdentityService identity,
RoleManager<IdentityRole> roleManager)
{
this.userManager = userManager;
this.identity = identity;
this.roleManager = roleManager;
}
public async Task<IActionResult> Roles(string id)
{
var user = await this.userManager.FindByIdAsync(id);
var u = this.userManager.GetUserId(User);
if (user == null)
{
return NotFound();
}
....
Der Benutzer in der Datenbank ist: user in database und Benutzer-ID an die Controller-Aktion übergeben wird: Debuger
haben eine Art Spielplatz mit neuen Standard VS2017 ASP versucht. NET Core MVC Vorlage und fügte nur FindByIdAsync auf Über und es funktioniert.
Dank
Wo ist Pascal 'User' von in dieser Zeile kommt' this.userManager.GetUserId (Benutzer) '? Sollte es stattdessen "Benutzer" sein? – CalC
Benutzer Cumming von ControllerBase. Aber diese Zeile ist nicht auf das Problem bezogen, nur für die Überprüfung kann UserId diesen Weg bekommen. Das Problem war, dass die Parameter-ID aufgrund meines Fehlers in der Razor-Vorlage falsch mit {} umbrochen wurde. Danke, dass Dave Cousineau es gesehen hat. –