Profiles

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > State Management >

Profiles

Previous pageReturn to chapter overviewNext page

O uso de profiles é muito prático para enviar dados de uma página pra outra.

Única desvantagem é tem que criar web.config E que ele usa banco de dados para armazenar os valores (são permanentes).

 

Como funciona

 

web.config

 

<?xml version="1.0"?>

 

<configuration>

   <system.web>

      <profile>

         <properties>

            <add name="Nome"/>

            <add name="Idade" type="System.Int32"/>

        <add name="Origem"/>

            <group name="Endereco">

               <add name="Rua"/>

               <add name="Cidade" defaultValue="Criciúma"/>

            </group>

         </properties>

      </profile>

   </system.web>

</configuration>

 

 

Cadastro.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Cadastro.aspx.cs" Inherits="Cadastro" %>

 

<!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>

        <asp:Label ID="lblNome" Text="Nome:" runat="server" /><br />

        <asp:TextBox ID="txtNome" runat="server" />

        <br />

        <asp:Label ID="lblIdade" Text="Idade:" runat="server" /><br />

        <asp:TextBox ID="txtIdade" runat="server" />

        <br />

        <asp:Label ID="lblRua" Text="Rua:" runat="server" /><br />

        <asp:TextBox ID="txtRua" runat="server" />

        <br />

        <asp:Label ID="lblCidade" Text="Cidade:" runat="server" /><br />

        <asp:TextBox ID="txtCidade" runat="server" />

        <br />

        <br />

        <asp:Button ID="btnEnviar" runat="server" OnClick="btnEnviar_Click" Text="Enviar" />

    </div>

    </form>

</body>

</html>

 

 

Cadastro.aspx.cs

 

public partial class Cadastro : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    protected void btnEnviar_Click(object sender, EventArgs e)

    {

        Profile.Nome = txtNome.Text;

        Profile.Idade = Int32.Parse("0" + txtIdade.Text);

        Profile.Endereco.Rua = txtRua.Text;

        Profile.Endereco.Cidade = txtCidade.Text;

 

        Response.Redirect("Exibe.aspx");

    }

}

 

Exibe.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Exibe.aspx.cs" Inherits="Exibe" %>

 

<!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>

       <asp:Label ID="lblNome" runat="server" /><br />

       <asp:Label ID="lblIdade" runat="server" /><br />

       <asp:Label ID="lblRua" runat="server" /><br />

       <asp:Label ID="lblCidade" runat="server" /><br />

    </div>

    </form>

</body>

</html>

 

Exibe.aspx.cs

 

public partial class Exibe : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        // obtendo dados do profile

        lblNome.Text = Profile.Nome;

        lblIdade.Text = Profile.Idade.ToString();

        lblRua.Text = Profile.Endereco.Rua;

        lblCidade.Text = Profile.Endereco.Cidade;

    }

}