使用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()
。
为什么我不能从助手那里使用这个库?感谢
使用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方法移动到服务层等中,则需要从控制器中获取此值,并将其作为参数传递。