おのれ鍋奉行が!
Page派生クラス以外から、セッション変数等を扱う方法
最終更新:
lmes2
-
view
Page派生クラス以外から、セッション変数等を扱う方法
概要
Page派生クラス以外から、セッション変数等を扱う方法。
「HttpContext.Current」について。
「HttpContext.Current」について。
参照
参考
前提条件
手順
通常、default.aspx.csは、以下のようにPageクラスから派生している。
その為、セッション等々が使用できる。
しかし、class1.cs等のように、外部クラスファイル化してしまうと、セッション等々が使えなくなる。
で、以下のように回避する。
その為、セッション等々が使用できる。
しかし、class1.cs等のように、外部クラスファイル化してしまうと、セッション等々が使えなくなる。
で、以下のように回避する。
default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Session["hoge"] = "hoge";
Class1 temp = new Class1();
}
}
class1.cs
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
/// <summary>
/// Class1 の概要の説明です
/// </summary>
public class Class1
{
public Class1()
{
String str_temp = HttpContext.Current.Session["hoge"].ToString();
HttpContext.Current.Response.Write(str_temp);
}
}
実行すると、Class1のコンストラクタが実行される。
not found (2.jpg)