我正在研究一个使用身份存储用户信息的项目。
因此,我有一个表格,可以使我提交数据,并将信息保存到数据库中。但是我可以选择允许用户匿名。我想知道如何获取用户的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
希望这会有所帮助。