Pergunta

Gostaria que os dados que eu entrar em uma caixa de texto em pageA para ser acessível em pageB

por exemplo: O usuário digita seu nome na caixa de texto na página A

página B diz Olá (info eles entraram na caixa de texto)

Eu ouvi isso pode ser feito usando uma sessão, mas eu não sei como.

Alguém por favor pode me dizer como configurar uma sessão e como armazenar dados nele? Obrigado!

Foi útil?

Solução

Session["valueName"]=value; 

ou

Session.Add("valueName",Object);

E você pode recuperar o valor na etiqueta (por exemplo)

/*if String value */     
Label1.Text=Session["valueName"].ToString();

ou

Label1.Text=Session.item["valueName"].ToString();

E também você pode remover a sessão;

/*This will remove what session name by valueName.*/
 Session.Remove( "valueName"); 

/*All Session will be removed.*/ 
Session.Clear(); 

Outras dicas

// Page A on Submit or some such
Session["Name"] = TextBoxA.Text;

// Page B on Page Load
LabelB.Text = Session["Name"];

Session é ativado por padrão.

Sim, você poderia fazer algo como JohnOpincar disse, mas você não precisa.

Você pode usar postbacks página cruz. Em ASP.Net 2.0, cross-página post backs permitir postagem para uma página web diferente, resultando em código mais intuitiva, estruturada e sustentável. Em este artigo , você pode explorar as várias opções e configurações para o mecanismo de página de postagem cruz.

Você pode acessar os controles na página de origem usando este código na página de destino:

protected void Page_Load(object sender, EventArgs e)
{
    ...
    TextBox txtStartDate = (TextBox) PreviousPage.FindControl("txtStartDate ");
    ...
}

Você pode usar sessão para fazer isso, mas você também pode usar Cruz Página Postbacks se você for ASP.NET 2.0 ou superior

http://msdn.microsoft.com/en-us/library /ms178139.aspx

if (Page.PreviousPage != null) {
    TextBox SourceTextBox = 
        (TextBox)Page.PreviousPage.FindControl("TextBox1");
    if (SourceTextBox != null) {
        Label1.Text = SourceTextBox.Text;
    }
}

Existe ainda uma maneira mais simples. Use a string de consulta:

Na página A:

<form method="get" action="pageB.aspx">
    <input type="text" name="personName" />
    <!-- ... -->
</form>

Na página B:

Hello <%= Request.QueryString["personName"] %> !
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top