使用ASP.NET MVC从帮助程序调用User.Identity.GetUserId()

本文关键字:Identity User GetUserId 调用 帮助程序 ASP NET MVC 使用 | 更新日期: 2023-09-27 18:28:49

我是ASP.NET MVC、的新手

我将一个HTTPPOST方法从控制器移到了Helpers,并且我不能从System.Security.Principal.IIdentity库调用User.Identity.GetUserId()

为什么我不能从助手那里使用这个库?感谢

使用ASP.NET MVC从帮助程序调用User.Identity.GetUserId()

使用User.Identity.GetUserId()从控制器中获得的User对象的类型为HttpContext.User

您可以使用位于System.Web中的HttpContext.Current来获得当前的HttpContext

Extension方法也需要using语句。

using Microsoft.AspNet.Identity;
using System.Web;
public class MyClass()
{
    public void MyMethod()
    {
        // Get the current context
        var httpContext = HttpContext.Current;
        // Get the user id
        var userId = httpContext.User.Identity.GetUserId();
    }
}

如果您在助手方法中检索该值,我个人建议将其作为参数从控制器中传入,因为它使它更清楚地依赖于它?

如果您将helper方法移动到服务层等中,则需要从控制器中获取此值,并将其作为参数传递。