如何从会话中获取对象属性
本文关键字:获取 取对象 属性 会话 | 更新日期: 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;
}