Правильные макеты ASP.Net MVC отображаются только после выхода и повторного входа - PullRequest
1 голос
/ 21 апреля 2019

В настоящее время, когда я создаю нового пользователя и регистрация по умолчанию () регистрируется у пользователя, My _layout отображает, какие ссылки зависят от @if (User.IsInRole ("Пользователь")).Прямо сейчас, когда я создаю пользователя, @if (Request.IsAuthenticated) отображает правильные ссылки.Затем он проверяет роль и в зависимости от роли отображает то, что ему нужно.В настоящее время независимо от роли, которую получает пользователь, независимо от того, что отображает else {}.Если я выхожу из системы, а затем снова вхожу в нее, то отображаются все ПРАВИЛЬНЫЕ ссылки макета.Любая идея, как я могу это исправить или почему это так?Вот мой регистр, по умолчанию он по умолчанию…

[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser
                {
                    UserName = model.UserName,
                    Email = model.Email,
                    Name = model.Name,
                    PhoneNumber = model.PhoneNumber,
                    Birthday = Convert.ToDateTime(model.Birthday),
                    DateCreated = DateTime.Now,
                };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    await this.UserManager.AddToRoleAsync(user.Id, model.UserRoles);
                    TempData["Success"] = "User Created Successfully";

                    return RedirectToAction("Index", "Home");
                }
...