我正在设计一个 ASP.net MVC4 应用程序,我需要获取当前用户 ID,以便将其作为组的所有者 ID 保存在数据库的表中。
这是我正在使用的代码:
public ActionResult CreateGroup(string groupName, string description)
{
if (Request.IsAuthenticated)
{
Group group = new Group();
Random random = new Random();
int groupId = random.Next(1, 2147483647);
using (CodeShareEntities conn = new CodeShareEntities())
{
try
{
int ownerId = (int) Membership.GetUser(System.Web.HttpContext.Current.User.Identity.Name).ProviderUserKey;
group.GroupId = groupId;
group.GroupName = groupName;
group.Description = description;
group.OwnerId = ownerId;
conn.Group.Add(group);
conn.SaveChanges();
}
catch (Exception e)
{
ModelState.AddModelError("", e.Message);
}
}
return View("ThisGroup");
}
else
{
return View("../Shared/NotLoggedIn");
}
我在这一行收到 NullReferenceException:
int ownerId = (int) Membership.GetUser(System.Web.HttpContext.Current.User.Identity.Name).ProviderUserKey;
尽管用户名返回正确。可能是什么问题?我还是 Web 应用程序的新手,我真的不明白这一点!
谢谢