Profile ASP.Net Tutorial

The ASP.NET Framework provides an alternative to  using cookies or Session state to store user information: the Profile object. 
The Profile object provides you with a strongly typed, persistent form of session state.
You create a Profile by defining a list of Profile properties in your application root web configuration file. 
The ASP.NET Framework dynamically compiles a class that contains these properties in the background.
The following web configuration file defines a Profile that contains three properties: firstName, lastName, and numberOfVisits.
File: Web.Config


  
    
      
      
      
          
    

  



When you define a Profile property, you can use any of the following attributes:
name sets the name of the property.
type sets the type of the property. 
The type can be any custom type, including a custom component that you define in the App_Code folder.
The default type is string.
defaultValue is a default value for the property.
readOnly creates a read-only property. 
The default value is false.
serializeAs sets how a property is persisted into a static representation. 
Possible values are Binary, ProviderSpecific, String, and Xml. 
The default value is ProviderSpecific.
allowAnonymous allows anonymous users to read and set the property. 
The default value is false.
provider associates the property with a particular Profile provider.
customProviderData passes custom data to a Profile provider.
File: ShowProfile.aspx
<%@ Page Language="C#" %>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    void Page_PreRender()
    {
        lblFirstname.Text = Profile.firstName;
        lblLastName.Text = Profile.lastName;
        Profile.numberOfVisits++;
        lblNumberOfVisits.Text = Profile.numberOfVisits.ToString();
    }
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        Profile.firstName = txtNewFirstName.Text;
        Profile.lastName = txtNewLastName.Text;
    }



    Show Profile


    
    

    First Name:
            id="lblFirstname"
        Runat="server" />
    
    Last Name:
            id="lblLastName"
        Runat="server" />
    
    Number of Visits:
            id="lblNumberOfVisits"
        Runat="server" />
    
            id="lblNewFirstName"
        Text="New First Name:"
        AssociatedControlID="txtNewFirstName"
        Runat="server" />
            id="txtNewFirstName"
        Runat="server" />
    
            id="lblNewLastName"
        Text="New Last Name:"
        AssociatedControlID="txtNewLastName"
        Runat="server" />
            id="txtNewLastName"
        Runat="server" />
    
            id="btnUpdate"
        Text="Update Profile"
        OnClick="btnUpdate_Click"
        Runat="server" />