おのれ鍋奉行が!

特定のページの中でのみ、参照可能な変数を扱う

最終更新:

lmes2

- view
管理者のみ編集可

特定のページの中でのみ、参照可能な変数を扱う


概要

HttpContext.Current.Itemsの話。

①ViewStateと違って、page派生クラス以外からでも参照しやすい。
②Sessionと違って、複数ページ間で値の保持はできない。

前提条件


手順

作業の手順

default.aspx
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>無題のページ</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
 
    </div>
    </form>
</body>
</html>
 

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)
    {
        HttpContext.Current.Items["aaa"] = "aaa";
        String str_hoge = "";
        Class1 cls = new Class1(ref str_hoge);
        Response.Write(str_hoge);
    }
}
 

class1.cs
using System;
using System.Web;
 
/// <summary>
/// HttpContext.Current.Items参照用クラス
/// </summary>
public class Class1
{
	public Class1( ref String str_buff)
	{
		try
		{
			str_buff = HttpContext.Current.Items["aaa"].ToString();
		}
		catch
		{
			str_buff = "";
		}
 
	}
}
 
記事メニュー
目安箱バナー