首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp.net-4.5中的静态"webmethod“函数中获取非静态值

如何在asp.net-4.5中的静态"webmethod“函数中获取非静态值
EN

Stack Overflow用户
提问于 2019-02-06 23:16:03
回答 1查看 152关注 0票数 0

在我的asp.net-4.5解决方案中。我有User.Username变量,它设置正确,但它是非静态的。我需要在一个静态方法中使用这个变量,该方法在我的.aspx页面中通过AJAX调用,如下所示:

代码语言:javascript
复制
    [WebMethod]
    public static bool DeleteFromDB (string programId)
    { 
       ... 
       Log.Write("deleted by: " + User.Username)        
    }

我的问题是我不能在那里使用User.Username,因为它是一个非静态变量。我无法创建静态变量并将其值设置为静态变量,也无法以某种方式将非静态变量转换为静态变量。尝试使用hiddenField和标签,但也无法从静态函数中获取它们的值。

请注意,User.Username不等于System.Security.Principal.WindowsIdentity.GetCurrent().Name;

User.Username是用户登录时使用的电子邮件地址。

成功的最简单方法是什么?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-02-06 23:21:23

您必须确保当用户登录时,唯一标识他/她的数据被存储为会话数据(id、用户名或电子邮件可以是该数据,但id是首选)。这是第一件要做的事情,如果还没有完成的话。

您应该能够通过会话数据获取用户,如果您将其放入一个变量中,让我们称其为myUser,那么您将能够读取它的Username,最好是通过getter。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54556845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档