c# - 创建,无法登录用户 ID 和名称
问题描述
我目前正在使用 .NET Framework 4.5.1,我不明白为什么“名称”似乎总是不存在。我努力了
using Microsoft.AspNet.Identity
User.Identity.GetUserName()
我仍然收到以下编译时错误,说明User
它不包含在当前上下文中?
这是我的创建代码
public void CreateRecord(SampleDataModel Rec)
{
DefaultConnection ent = new DefaultConnection();
SampleData dbRec = new SampleData();
dbRec.CreatedBy = User.Identity.GetUserName(); // <---- CAUSING ERROR
dbRec.CurrentOwner = Rec.CurrentOwner;
dbRec.DateOfBirth = Rec.DateOfBirth;
ent.SampleData.Add(dbRec);
ent.SaveChanges();
SampleData DummyObject = new SampleData();
CreateAuditTrail(AuditActionType.Create, dbRec.ID, DummyObject, dbRec);
}
解决方案
请注意,这User
是Page
该类的成员。
https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.user
因此,如果您的班级,您正在尝试获取User
成员不是从Page
您那里获得的,您无法通过简单地编写来访问它User
。
例如,如果它看起来不像这样:
public partial class _Default : Page
在这种情况下,您将不得不使用更“直接”的方法并使用
HttpContext.Current.User
而不仅仅是User
https://docs.microsoft.com/en-us/dotnet/api/system.web.httpcontext.user
所以改变你的线路
dbRec.CreatedBy = User.Identity.GetUserName();
至
dbRec.CreatedBy = HttpContext.Current.User.Identity.GetUserName();
并添加命名空间
using System.Web;
推荐阅读
- ios - 在为 IOS 发布之前如何查看我的应用页面?
- google-maps - 找不到离子谷歌服务
- java - Java 高 CPU 线程 | JBOSS EAP 6.3 | 无法找到根本原因
- db2 - 将消息从 DB2 发布到 Mq web sphere
- java - 使用 Java 的 Optional 进行 Spring 注入
- laravel - 从位于数组中的字符串获取集合结果
- python - 如何从 Facebook 画布图中提取数据?
- python - 如何在带有空格的单词之后获取序列
- .net - 对 COM 应用程序 (Primavera ERP) 的 Web 服务的并发调用
- lua - 将 2 个 Lua Logitech 脚本合二为一