我在我的.NET项目的App_Code文件夹下有一个名为“StateBag.cs”的单独类。
代码如下:
现在我希望能够从我的网站项目的任何页面更新MemberID值。
例如:
Default.aspx.cs:
然而,我遇到了一个冲突: 'System.Web.UI.StateBag' 不包含 'MemberID' 的定义,并且没有接受类型为 'System.Web.UI.StateBag' 的第一个参数的扩展方法 'MemberID' 可用(您是否缺少使用指令或程序集引用?) 我在 Default.aspx.cs 页面上漏掉了某些引用吗?
如何访问并返回它呢...比如说我在另一个页面 "About.aspx.cs" 上。
我想能够这样说:-
代码如下:
using System; using System.Text;
[Serializable()]
public class MyStateBag
{
public MyStateBag(){}
private string _MemberID = string.Empty;
public string MemberID
{
get { return _MemberID; }
set { _MemberID = value; }
}
}
现在我希望能够从我的网站项目的任何页面更新MemberID值。
例如:
Default.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
public StateBag MyStateBag
{
get { return (StateBag)Session["MyStateBag"]; }
set { Session["MyStateBag"] = value; }
}
protected void Page_Init(object sender, EventArgs e)
{
this.MyStateBag = (StateBag)Session["MyStateBag"];
}
.... }
在我的Default.aspx.cs页面上,我正在尝试将memberID的值设置为MyStateBag:
if (HttpContext.Current.Session["MyStateBag"] == null)
{
HttpContext.Current.Session["MyStateBag"] = new StateBag();
}
((StateBag)HttpContext.Current.Session["MyStateBag"]).MemberID = memID;
然而,我遇到了一个冲突: 'System.Web.UI.StateBag' 不包含 'MemberID' 的定义,并且没有接受类型为 'System.Web.UI.StateBag' 的第一个参数的扩展方法 'MemberID' 可用(您是否缺少使用指令或程序集引用?) 我在 Default.aspx.cs 页面上漏掉了某些引用吗?
如何访问并返回它呢...比如说我在另一个页面 "About.aspx.cs" 上。
我想能够这样说:-
memberinfo = StateBag["MemberID"]
有人能帮我理解这个问题吗?