ASP.NETのセッションオブジェクト
1670 ワード
ViewStateオブジェクトでは異なるページデータ交換ができず、あるページで操作したデータを別のページにアクセスする必要がある場合があります.
ASP.NETで異なるページ間で情報を共有する方法
Session(セッション)オブジェクト、ViewStateオブジェクトと同様に「キー---値」対アクセスデータ
WebサーバはSessionIdによって異なるユーザーを区別し、長い文字列である.
SessionIdは、ユーザの最初のアクセス時にWebサーバによって生成され、ユーザブラウザによって保存される
ユーザが操作するたびに,ブラウザはサーバに要求する際に独自のセッションIDを持つ.
ASP.NETで異なるページ間で情報を共有する方法
Session(セッション)オブジェクト、ViewStateオブジェクトと同様に「キー---値」対アクセスデータ
public partial class 1_Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
List cart = new List();
Session["Cart"] = cart;
}
}
protected void btnAddToCart_Click(object sender, EventArgs e)
{
foreach(Control item in form1.Controls)
{
if(item is CheckBox)
{
CheckBox ckd = (CheckBox)item;
if(ckd.Checked)
{
((List)Session["Cart"]).Add(ckd.Text);
}
}
}
this.btnAddToCart.Text = " ";
}
protected void btnShowCart_Click(object sender, EventArgs e)
{
Response.Redirect("ShoppingCart.aspx");
}
}
public partial class 1_ShoppingCart : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List car = (List)Session["Cart"];
string info = string.Empty;
foreach (string item in car)
{
info += item + " ";
}
Response.Write(" :" + info + "
");
}
}
WebサーバはSessionIdによって異なるユーザーを区別し、長い文字列である.
SessionIdは、ユーザの最初のアクセス時にWebサーバによって生成され、ユーザブラウザによって保存される
ユーザが操作するたびに,ブラウザはサーバに要求する際に独自のセッションIDを持つ.