我的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。
请注意,我在Method后面的代码是[WebMethod],它不支持Session Object。
我能得到它吗?怎么样?
答案 0 :(得分:6)
var adminObj = (Admin)Session["maskanAdmin"];
if(adminObj != null)
{
var id = adminObj.id;
var fname = adminObj.firstname;
}
详细了解Read Values from Session State
<强>更新强>
我不确定为什么问题会在一小时后更新,说您正在使用网络方法中的代码。
答案 1 :(得分:1)
当您从Session中检索它时,您只需将其强制转换回Admin
类型对象:
Admin admin = (Admin)Session["maskanAdmin"];
然后您可以正常使用对象的属性:
if(admin.ID == someOtherID)
{
// do stuff
}
答案 2 :(得分:1)
Admin variableName = (Admin)Session["maskanAdmin"];
答案 3 :(得分:1)
var adminObj = Session["maskanAdmin"];
if(adminObj != null)
{
var admin = (Admin)adminObj;
}