<a asp-area="Identity" asp-page="/Account/Manage/Index" title="Manage">
    Hello @UserManager.GetUserName(User)!
</a>

我基本上想采用 @UserManager.GetUserName(User) 并将其存储为变量,然后在 Controller 文件上使用它以在 SQL 命令中进行比较。我需要收到当前用户的电子邮件,以便我可以从数据库中打印出有关该人的特定内容。
namespace FinalAdminPortal.Controllers
{
    [Authorize]

    public class HomeController : Controller
     {

        private readonly IConfiguration configuration;

        public HomeController(IConfiguration config)
        {
            this.configuration = config;
        }
    }

最佳答案

您需要像这样在我们 Controller 的构造函数中注入(inject) UserManager:

UserManager<ApplicationUser> userManager;
public YourController(UserManager<ApplicationUser> userManager) {
    this.userManager = userManager;
}

然后获取您的相应用户:
var user = await userManager.GetUserAsync(HttpContext.User);

根据您想要做什么,最好不要直接在 Controller 内部运行查询,并在某种 User-Repo 中创建一个方法作为抽象。

关于c# - 如何从 _Loginpartial.cshtml 存储用户名并在 .cs 文件中使用它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53534750/

10-12 14:52