如何从会话中获取对象属性

本文关键字:获取 取对象 属性 会话 | 更新日期: 2024-09-17 00:29:47

我的asp.net C#项目中有一个名为"admin"的类
它是:

public class Admin
{  
    private int ID;
    private string FirstName, LastName, IsMainAdmin, Email, Username, 
            Password,BirthDate, EntryDate;  
    public int id
    {
        get { return ID; }
        set { ID = value; }
    }
    public string firstname
    {
        get { return FirstName; }
        set { FirstName = value; }
}
    public string lastname
    {
        get { return LastName; }
        set { LastName = value; }
    }
    .  
    .  
    .  

登录后,会话创建如下:

Admin admin = isAdmin(username, password);
    if (admin != null)
    {
        **Session.Add("maskanAdmin", admin);**
        Response.Redirect("panel.aspx");
    }

在另一个页面中,我需要通过jquery ajax在页面请求后的代码隐藏部分从会话中获取管理员的ID
请注意,我的方法背后的代码是不支持会话对象的[WebMethod]
我能拿到吗?怎样

如何从会话中获取对象属性

var adminObj = (Admin)Session["maskanAdmin"];    
if(adminObj != null)
{
    var id = adminObj.id;
    var fname = adminObj.firstname;
}

阅读有关从会话状态读取值的更多信息

更新

我不知道为什么这个问题在一个小时后更新,说你在网络方法中使用代码。

但是,请看一下在Web服务中使用ASP.NET会话状态

当您从会话中检索它时,只需要将它强制转换回Admin类型的对象:

Admin admin = (Admin)Session["maskanAdmin"];

然后你可以正常使用对象的属性:

if(admin.ID == someOtherID)
{
    // do stuff
}
Admin variableName = (Admin)Session["maskanAdmin"];
var adminObj = Session["maskanAdmin"];
if(adminObj != null)
{
    var admin = (Admin)adminObj;
}