Blazor 隐藏输入绑定到身份用户

Blazor Hidden input bind to Identity User

如标题所述,我想将 IdentityUser 属性绑定到隐藏的表单输入。或者也许我走错了路。 它正在跟踪谁创建了一个新项目。我可以访问身份和属性。

这是我的表单接受输入的示例。 项目目标结束日期:

这是我希望发生的事情的一个例子

    <input type="hidden" @bind="projectObject.CreatedBy"> 

(在这里输入 IdentityUser 一些方法)

这是我的 属性 绑定。 项目 projectObject = new Project();

string CurrentUser { get; set; }

protected async override Task OnInitializedAsync()
{
    var authstate = await GetAuthenticationStateAsync.GetAuthenticationStateAsync();
    CurrentUser = authstate.User.Identity.Name;        
}

我想将 CurrentUser 绑定到 CreatedBy。 编码答案将不胜感激,但我也想阅读有关答案的信息。

如果我正确理解你的问题,解决方案应该是这样的

@code{
    Project projectObject = new Project();
    protected async override Task OnInitializedAsync()
    {
        var authstate = await GetAuthenticationStateAsync.GetAuthenticationStateAsync();
        projectObject.CreatedBy = authstate.User.Identity.Name;
    }
}

这样一来,每次打开表单,初始化组件时,都会将当前用户保存在属性创建的对象上。而且您不需要创建输入隐藏值!希望对您有所帮助,欢迎来到 Whosebug!

如果您的组件不起作用,请使用 IHttpContextAccessor

检查其他用户的 this 解决方案