如何访问javascript中的asp.net代码隐藏会话对象成员变量
本文关键字:隐藏 代码 net 会话 对象 变量 成员 asp 中的 何访问 访问 | 更新日期: 2023-09-27 18:20:55
我有一个类可以处理asp.net应用程序中的所有会话变量。此外,我有时会将对象存储在会话变量中,以便能够编写与普通.net应用程序非常相似的代码。
例如,这里有一个会话变量中的对象:
public cUser User
{
get { return (cUser)HttpContext.Current.Session["CurrentUser"]; }
set { HttpContext.Current.Session["CurrentUser"] = value; }
}
下面是MySessionClass:的实例
public static MySessinClass Current
{
get
{
MySessionClass session = (MySessionClass)HttpContext.Current.Session["MySessionClass"];
if (session == null) {
session = new MySessionClass();
HttpContext.Current.Session["MySessionClass"] = session;
}
return session;
}
}
所以,在我的代码隐藏aspx页面中,我只需要做一些事情,比如
int userID = MySessionClass.Current.User.UserID;
这很好用,我很喜欢。但是,我想在aspx页面的javascript中应用相同的原理:
var userID = <%=MySessionClass.Current.User.UserID%>;
然而,当我访问该网页时,我收到一个错误,说它无法识别MySessionClass对象。
那么,考虑到我所处的上下文,在javascript中从对象、会话引用UserID变量的最佳方式是什么?也许我引用它的语法不正确,或者我走错了路。任何帮助都将不胜感激,谢谢。
由于您已将其定义为静态成员,因此您需要使用页面类型限定引用:
var userID = <%=MyPageType.MySessionClass.Current.User.UserID%>;
这就足够了。