我是ASP.NET MVC的新手,
我将HTTP POST方法从我的控制器移动到Helpers,我无法User.Identity.GetUserId()
从System.Security.Principal.IIdentity
库中调用.
为什么我不能从助手那里使用这个库?谢谢
User
您在控制器中使用的对象User.Identity.GetUserId()
是类型HttpContext.User
.
你可以HttpContext
通过使用HttpContext.Current
它来获得当前的电流System.Web
.
您还需要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(); } }
如果你在你的帮助器方法中检索它,我个人会建议将这个值作为参数传递给你的控制器,因为它更清楚它依赖于它吗?
如果将辅助方法移动到服务层等,则需要从控制器获取此值并将其作为参数传递.