IIDentity 不包含“GetUserId”的定义

本文关键字:定义 GetUserId 包含 IIDentity | 更新日期: 2023-09-27 18:33:55

我正在尝试使用VS2015 MVC控制器,特别是User.Identity上的GetUserID

我已经看到了许多与此相关的类似问题,这些问题状态要添加对Microsoft.AspNet.Identity的引用,但是正如您所看到的,这是引用的。

假设我错过了一个包裹或我无法弄清楚的东西

using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Mvc;
using Web_Test.Models;  
namespace Web_Test.Controllers
{
    public class TestController : Controller
    {
    public TestController(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager)
    {
        UserManager = userManager;
        SignInManager = signInManager;
    }
    public UserManager<ApplicationUser> UserManager { get; private set; }
    public SignInManager<ApplicationUser> SignInManager { get; private set; }
    public IActionResult Index()
    {
        //GetUserId() underlined in Red in VS2015
        //IIDentity does not contain a definition for 'GetUserId'
        string currentUserId = User.Identity.GetUserId();
        return View();
    }
}
}

IIDentity 不包含“GetUserId”的定义

添加以下内容对我有用。我还需要添加 NuGet 包Microsoft ASP.NET@Badri提到的标识核心。

using Microsoft.AspNet.Identity; // NuGet: Microsoft ASP.NET Identity Core.

尝试添加using System.Security.Principal;,因为扩展方法是该命名空间的一部分。请参阅此处的代码。