session_set页面如图:
session.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="session_set.aspx.cs" Inherits="session_set" %>
<!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 class="1">
1.存储字符串的session:<br />
<asp:TextBox ID="txt_ss_txt" runat="server"></asp:TextBox>
<asp:Button ID="btn_ss_txt" runat="server" Text="保存至Session['ss_txt']"
οnclick="btn_ss_txt_Click" />
</div>
<div>
2.存储字符串数组的session:(如输入33,44,55,66的形式)<br />
<asp:TextBox ID="txt_ss_arr" runat="server"></asp:TextBox>
<asp:Button ID="btn_arr" runat="server" Text="保存至Session['ss_Sarr']"
οnclick="btn_arr_Click" />
</div>
<div>
3.存储一个控件:<asp:Calendar ID="Calendar1"
runat="server" BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
<NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt"
ForeColor="#FFFFCC" />
<TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
</asp:Calendar>
<br />
<asp:Button ID="btn_cal" runat="server" Text="保存至Session['ss_cal']"
οnclick="btn_cal_Click" />
</div>
<div>
4.用Session。Add方式添加一个重名的Key,ss_txt:<asp:Button ID="btn_key"
runat="server" Text="添加重名key" οnclick="btn_key_Click" />
</div>
<div>
<asp:LinkButton ID="lbtn_jump" runat="server" PostBackUrl="~/session_read.aspx">跳转到读取SESSION的页面</asp:LinkButton>
</div>
</form>
</body>
</html>
session.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class session_set : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn_ss_txt_Click(object sender, EventArgs e)
{
Session["ss_txt"] = (txt_ss_txt.Text == "") ? "空字符串" : txt_ss_txt.Text;
}
protected void btn_arr_Click(object sender, EventArgs e)
{
string[] Str_arr = txt_ss_arr.Text.Split(',');
Session["ss_Sarr"] = Str_arr;
}
protected void btn_cal_Click(object sender, EventArgs e)
{
Session["ss_cal"] = Calendar1;
}
protected void btn_key_Click(object sender, EventArgs e)
{
Session.Add("ss_txt", "123456");
}
}
session_read页面如图:
session_read.aspx代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="session_read.aspx.cs" Inherits="session_read" %>
<!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>
读取ss_txt的值:<asp:Label ID="lb_ss" runat="server" Text=""></asp:Label>
</div>
<div>
读取ss_Sarr的值:<asp:TextBox ID="txt_Sarr"
runat="server" TextMode="MultiLine" Width="30px" Height="80px"></asp:TextBox>
</div>
<div>
读取控件:<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</div>
<div>
读取Session相关属性参数:<br />
<asp:Label ID="Label2" runat="server" Text=""></asp:Label>
<br />
<asp:Label ID="Label3" runat="server" Text=""></asp:Label>
<br />
<asp:Label ID="Label4" runat="server" Text=""></asp:Label>
</div>
<div>
<asp:Button ID="Button1" runat="server" Text="清除所有的Session"
οnclick="Button1_Click" /><asp:Button ID="Button2" runat="server"
Text="清除Session ss_txt" οnclick="Button2_Click" />
</div>
<asp:LinkButton ID="LinkButton1"
runat="server" PostBackUrl="~/session_set.aspx">返回设置页</asp:LinkButton>
</form>
</body>
</html>
session_read.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class session_read : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lb_ss.Text = (Session["ss_txt"] != null) ? Session["ss_txt"].ToString() : "Session为空!";
txt_Sarr.Text = "";
if (Session["ss_Sarr"] != null) {
string[] _Sarr = (string[])Session["ss_Sarr"];
for (int i = 0; i < _Sarr.Length; i++) {
txt_Sarr.Text += _Sarr[i] + "\n";
}
}
if (Session["ss_cal"] != null)
{
Calendar _cal = (Calendar)Session["ss_cal"];
Panel1.Controls.Add(_cal);
}
Label2.Text = "";
foreach(string _key in Session.Keys){
Label2.Text += ("[" + _key + "] " + Session[_key].GetType().ToString())+"\n";
}
Label3.Text = "SessionID为:"+Session.SessionID.ToString()+"\n";
Label4.Text = "Session有效期为:"+Session.Timeout.ToString()+"分钟";
}
protected void Button1_Click(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect(Request.Url.LocalPath.ToString());
}
protected void Button2_Click(object sender, EventArgs e)
{
Session.Remove("ss_txt");
Response.Redirect(Request.Url.LocalPath.ToString());
}
}
运行效果如图: