asp.net中Session页面传值的应用小例子

来源:互联网 发布:高达哪部最好看 知乎 编辑:程序博客网 时间:2024/06/06 18:02

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']"             onclick="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']"             onclick="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']"             onclick="btn_cal_Click" />        </div>    <div>            4.用Session。Add方式添加一个重名的Key,ss_txt:<asp:Button ID="btn_key"             runat="server" Text="添加重名key" onclick="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"             onclick="Button1_Click" /><asp:Button ID="Button2" runat="server"             Text="清除Session ss_txt" onclick="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());            }}

运行效果如图:


0 0
原创粉丝点击