无法将asp.net标识中的UserID分配给int值类型
本文关键字:分配 UserID int 类型 asp net 标识 | 更新日期: 2023-09-27 18:17:32
这是我的控制器动作方法-------
public HttpResponseMessage PostPost(Post post)
{
// previosly i was using simple membership to get id of logged in user
// post.PostedBy = WebSecurity.CurrentUserId;
post.PostedBy = User.Identity.GetUserId<int>();
post.PostedDate = DateTime.UtcNow;
ModelState.Remove("post.PostedBy");
ModelState.Remove("post.PostedDate");
if (ModelState.IsValid)
{
db.Posts.Add(post);
db.SaveChanges();
// now i am facing problem at this line. it is saying that
//Operator '==' cannot be applied to operands of type 'int' and 'string'
var usr = db.Users.FirstOrDefault(x => x.Id == post.PostedBy);
当我使用简单成员关系时,我的代码工作得很好。我该怎么做才能让它起作用呢?这里,post是一个类,属性PostedBy为int,我想分配当前loggedIn userId值给这个属性。
查看此链接中的答案:如何获得当前用户,以及如何在MVC5中使用user类?
检查答案中的代码是如何编写的:
using Microsoft.AspNet.Identity;
...
User.Identity.GetUserId();
如果这不起作用,请调试和跟踪代码,并告诉我们User的值是什么。身份?