如何使用 asp.net 身份获取用户的 ID



我正在研究一个使用身份存储用户信息的项目。

因此,我有一个表格,可以使我提交数据,并将信息保存到数据库中。但是我可以选择允许用户匿名。我想知道如何获取用户的ID,以便可以在以下代码开始时在我的if-else语句中应用它。

 protected void AddPost(object sender, EventArgs e)
        {

            var User = System.Web.HttpContext.Current.User.Identity.;
            if (Convert.ToBoolean(Int32.Parse(inputAnonymous.SelectedValue)))
            {
                User = "";
            }
            Post newPost = new Post()
            {
                postTitle = inputTitle.Text,
                postBody = inputBody.Text,
                postDescription = inputDescription.Text,
                postCategory = inputCategory.SelectedValue,
                postAnonymous = Convert.ToBoolean(Int32.Parse(inputAnonymous.SelectedValue)),
                Id = User
            };
            using (var _dbContext = new ApplicationDbContext())
            {
                _dbContext.Posts.Add(newPost);
                _dbContext.SaveChanges();
            }
        }

我知道,如果我使用

 var User = System.Web.HttpContext.Current.User.Identity.Name;

然后它将获得用户用户名(在此上下文中发送电子邮件而不是用户ID)。

假设您不使用ASP.NET Core。

有扩展方法getuserid可以帮助您。

是扩展方法,您需要添加使用语句。

using Microsoft.AspNet.Identity
strCurrentUserId = User.Identity.GetUserId()

可以在Microsoft.AspNet.Identity.IdentityExtensions

中找到此命名空间

希望这会有所帮助。

相关内容

  • 没有找到相关文章