I have a separate class in my App_Code folder (.NET project) called "StateBag.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; }
}
}
Now I want to be able to update the MemberID value from any page of my web project.
Example: -
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"];
}
.... }
On my Default.aspx.cs page, I'm trying to set memberID to MyStateBag: -
if (HttpContext.Current.Session["MyStateBag"] == null)
{
HttpContext.Current.Session["MyStateBag"] = new StateBag();
}
((StateBag)HttpContext.Current.Session["MyStateBag"]).MemberID = memID;
However, I get a conflict:
"System.Web.UI.StateBag" does not contain a definition for "MemberID", and there is no extension method "MemberID" that takes the first argument of the type "System.Web.UI.StateBag" (you are missing the using or directive assembly reference?)
Do I need to link to my Default.aspx.cs page, which I skip?
... , , "About.aspx.cs".
: - memberinfo = StateBag["MemberID"]
- ?