This documentation is archived and is not being maintained.

HttpSessionState.Add Method

Adds a new item to the session-state collection.

Namespace:  System.Web.SessionState
Assembly:  System.Web (in System.Web.dll)

public void Add(
	string name,
	Object value


Type: System.String
The name of the item to add to the session-state collection.
Type: System.Object
The value of the item to add to the session-state collection.

If the name parameter refers to an existing session state item, the existing item is overwritten with the specified value.

The following example shows how to store values in session state by using the Add method. It also shows how to remove values in session state by using the Remove method. A Repeater control is used to display the contents session state on the Web page. The GetEnumerator method is used to iterate through the session-state collection and populate the Repeater control.

Security noteSecurity Note

This example has a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
        // If both name and value are specified
        // use the Add method to add the item to session-state.
        if (!String.IsNullOrEmpty(TextBox1.Text) &
            string itemName = Server.HtmlEncode(TextBox1.Text);
            string itemValue = Server.HtmlEncode(TextBox2.Text);
            Session.Add(itemName, itemValue);
            // Refresh the Repeater control.

    protected void RefreshRepeater()
        // Use the GetEnumerator method to 
        // iterate through the session-state.
        ArrayList values = new ArrayList();
        System.Collections.IEnumerator ie = Session.GetEnumerator();
        string currentSessionItemName;
        while (ie.MoveNext())
            currentSessionItemName = (string)ie.Current;
            values.Add(new SessionDataDisplay(currentSessionItemName,

        // Bind values ArrayList to Repeater control.
        Repeater1.DataSource = values;

    public class SessionDataDisplay
        private string _name;
        private string _value;

        public SessionDataDisplay(string name, string value)
            this._name = name;
            this._value = value;
        public string Name
            get { return _name; }
        public string Value
            get { return _value; }

    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        // Determine which item to remove and
        // use the Remove method to remove it.
        RepeaterItem itemToRemove = e.Item;
        string sessionItemToRemove = 
        // Refresh the Repeater control.

<html xmlns="" >
<head runat="server">
    <title>HttpSessionState Example</title>
    <form id="form1" 
        <asp:TextBox ID="TextBox1"
        <br />
        <asp:TextBox ID="TextBox2" 
        <asp:Button ID="Button1" 
                    Text="Add" />
        <br />
        <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
             <br />
                SessionState Item Name:  
                <asp:Label ID="Label1" 
                           Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>'/>,
                SessionState Item Value: 
                <asp:Label ID="Label2" 
                           Text='<%# DataBinder.Eval(Container.DataItem, "Value") %>'/>
                <asp:Button ID="RemoveItem" 
                            runat="server" />


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.