none
Como recuperar uma informação de um DropDownList numa outra pagina RRS feed

  • Pergunta

  • Como salvar dados de um DropDownListCC.Text da pagina Login.aspx e recuperar em outra pagina Home.aspx num label por exemplo ?

    Alguem pode me ajudar ?

    Essa ação do Login ja ira direcionar para minha pagina Home.aspx a qual vai receber os dados salvos do DropDownListCC.text

    Fico no aguardo. Obrigado.

    segunda-feira, 18 de junho de 2012 19:29

Respostas

Todas as Respostas

  • a comunicação entre páginas acontece de duas maneiras ou via session o querystring, session vc terá que ter a precaução pois cada session criada e é mais memória que requisita do servidor, querystring vc corre o risco pois a informação que vc quer aparece no endereço da página e o usuário mal intencionado pode alterar.

    No seu caso eu criaria uma session e depois de le-la eu a excluia, mais veja se seu site é muito acessado


    Junior

    segunda-feira, 18 de junho de 2012 19:42
  • Eu não sei fazer de nenhuma forma. Qualquer uma das 2 acho que resolve meu problema.

    Pois meu site e acessado apenas por usuarios autenticados pela empresa. Como uma intranet. Então são poucos usuarios.

    Alguem com conhecimento do assunto pode me ajudar ?

    Desde ja agradeço.

    Obrigado.

    terça-feira, 19 de junho de 2012 13:41
  • Paulo, primeiro no seu dropdonwlist vc coloca uma opção 0 lá com o texto tipo --- selecione algo --- ai vc testa se o dropdonwlist.selectedvalue é diferente de 0 se não for obrigue o usuário a selecionar algo, se o selectedvalue não for = 0 ai vc cria a sessao

    session[nomedasessao] = dropdonwlist.selectedvalue

    e na página que vc quer vc pode declarar uma variável e pegar o valor da session ou simplesmente no componente que vai recebero valor vc setar que o valor é igual a session[nomedasessao]

    pronto


    Junior

    terça-feira, 19 de junho de 2012 14:02
  • Na primeira pagina ja esta dando erro.

    Eutestei informando um valor qualquer exemplo 100 e esta dando erro conforme abaixo:

    Server Error in '/' Application.

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: CS0103: The name 'SessionCC' does not exist in the current context

    Source Error:
    Line 15:     {
    Line 16: 
    Line 17:         Session[SessionCC] = "100";
    Line 18:     }
    Line 19: }

    terça-feira, 19 de junho de 2012 14:47
  • é assim

    Session["nomesessao"]


    Junior

    terça-feira, 19 de junho de 2012 14:50
  • Na primeira pagina não esta dando mais erro, mas na 2 aonde eu estou recuperando o valor da session esta dando erro conforme abaixo:

    Server Error in '/' Application.

    Compilation Error

    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: CS0266: Cannot implicitly convert type 'object' to 'string'. An explicit conversion exists (are you missing a cast?)

    Source Error:
    Line 12:         protected void Page_Load(object sender, EventArgs e)
    Line 13:         {
    Line 14:             LabelCC.Text = Session["NomeSession"];
    Line 15:         }
    Line 16:     }

    terça-feira, 19 de junho de 2012 16:04
  • labelcc.text = session["nomesession"].toString();

    Junior

    terça-feira, 19 de junho de 2012 16:17
  • Mudou o erro:

    Server Error in '/' Application.

    Object reference not set to an instance of an object.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:
    Line 23:         protected void Page_Load(object sender, EventArgs e)
    Line 24:         {
    Line 25:             LabelCC.Text = Session["NomeSession"].ToString();
    Line 26:         }
    Line 27:     }

    Source File: c:\WebSGO\WebSGO\WebApplication1\AreaeSubArea.aspx.cs    Line: 25

    terça-feira, 19 de junho de 2012 16:37
  • Cara manda o código da pagina (aspx e .cs).

    Atenciosamente.

    terça-feira, 19 de junho de 2012 16:50
  • o erro é pq a session é nula, veja pq a session está nula vc a criou e colocou valor nela ?

    Junior

    terça-feira, 19 de junho de 2012 16:51
  • pagina aspx

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <asp:Label ID="LabelCC" runat="server" Text="Label"></asp:Label>
    </asp:Content>

    pagina cs

    public partial class AreaeSubArea : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                LabelCC.Text = Session["NomeSession"].ToString();
            }
        }

    terça-feira, 19 de junho de 2012 16:52
  • Manda o código onde vc esta setando o valor da session tb!
    terça-feira, 19 de junho de 2012 17:13
  • Passa via querystring

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    terça-feira, 19 de junho de 2012 17:41
    Moderador
  • 1 Pagina  aonde estou sentando a session

     protected void LoginButton_Click(object sender, EventArgs e)
        {

            Session["NomeSession"] = "100";
        }

    Aguardo Retorno.

    Obrigado.

    terça-feira, 19 de junho de 2012 18:16
  • Paulo vc debugando aqui

    LabelCC.Text = Session["NomeSession"].ToString();

    qual o valor da Session["NomeSession"] ?


    Junior

    terça-feira, 19 de junho de 2012 18:20
  • Cara faz igual.

    pagina 1 aspx.

    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="0" Text="Selecione" Selected="True"></asp:ListItem>
            <asp:ListItem Value="100" Text="Valor 1"></asp:ListItem>
            <asp:ListItem Value="200" Text="Valor 2"></asp:ListItem>
        </asp:DropDownList>
    </asp:Content>
    
    

    pagina 1 código.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Session["nome"] = DropDownList1.SelectedValue;
    
            Response.Redirect("RecebeSession.aspx");
        }
    }
    


    pagina 2 .aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RecebeSession.aspx.cs" Inherits="RecebeSession" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </asp:Content>
    
    

    página 2 .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 RecebeSession : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = Session["nome"].ToString();
        }
    }

    Obs.

    Não tem erro!

    terça-feira, 19 de junho de 2012 19:12
  • O valor da session da 1 pagina é 100 conforme ja havia informado.

     protected void LoginButton_Click(object sender, EventArgs e)
        {

            Session["NomeSession"] = "100";
        }

    terça-feira, 19 de junho de 2012 19:13
  • Paulo não tem pq dar erro faz como o Romy falou criar sessão é super simples vc declara e coloca um valor para ela, não tem como, se o erro for aquele que vc mandou é pq a sessão esta nula ou qdo da página ela não foi criada.

    Junior

    terça-feira, 19 de junho de 2012 19:20
  • Mas no meu codigo não tinha essa linha:

    Response.Redirect("RecebeSession.aspx");

    Sera que é por causa disso ?

    Nesse caso eu coloco a minha 2 pagina aspx ?

    Fico no aguardo.

    Obrigado.

    terça-feira, 19 de junho de 2012 19:46
  • Não na página 1 ela vai redirecionar para a página dois!

    ok!

    terça-feira, 19 de junho de 2012 19:52
  • antes de dar o response vc tem que criar e popular a session.

    Junior

    terça-feira, 19 de junho de 2012 19:53
  • COLOQUEI AGORA DESSA FORMA NA 1 PAGINA:

    protected void LoginButton_Click(object sender, EventArgs e)
        {

            Session["CCSession"] = "100";
            Response.Redirect("AreaeSubArea.aspx");

        }

    SO QUE AGORA QUE COLOQUEI A 2 LINHA NÃO SAI MAIS DA 1 PAGINA, ESSA TELA JA IA PRA UMA OUTRA PAGINA DE APRESENTAÇÃO E NÃO VAI MAIS. FICA NESSA PAGINA CONGELADA.

    E AGORA ?

    quarta-feira, 20 de junho de 2012 12:34
  • Paulo a página areasubarea.aspx está no mesmo nível de pasta da página que chama ela ?


    Junior

    quarta-feira, 20 de junho de 2012 12:40
  • Cara vc precisa colocar o diretório virtual da página por exemplo (/pasta1/pasta2/suapagina.aspx), se não o response redirect não funciona mesmo!
    quarta-feira, 20 de junho de 2012 14:14
  • Paulo,

    passe por Query o valor do seu dropDownList, na sua pagina de login faça o seguinte:

    protected void LoginButton_Click(object sender, EventArgs e)
         {
            Response.Redirect("AreaeSubArea.aspx?SeuParametro=" + SeuDropDownList.SelectedValue);
         }


    na pagina AreaeSubArea.aspx, vá no metodo Page_Load

    protected void Page_Load(object sender, EventArgs e) { string parametro = Rquest["SeuParametro"].toString(); // ou string parametro = Rquest.QueryStrin["SeuParametro"].toString();

    // ou mandar direto para o control

     Label1.Text = Rquest.QueryStrin["SeuParametro"].toString();

    // ou

    Label1.Text = Rquest["SeuParametro"].toString();

    }

    Bom espero ter ajudado

    Boa sorte ai amigão!


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    quarta-feira, 20 de junho de 2012 14:34
  • protected void LoginButton_Click(object sender, EventArgs e)
         {
            Response.Redirect("AreaeSubArea.aspx?SeuParametro=" + SeuDropDownList.SelectedValue);
         }

    Não da erro, mas fica na mesma tela de login e ainda deixa os dados do nome e senha em branco.

    Se eu tiro a linha de cima não grava mas pelo menos passa para outra tela.

    Alguem pode me ajudar ?

    quarta-feira, 20 de junho de 2012 17:08
  • faz assim

    protected void AvancarButton_Click(object sender, EventArgs e)
            {
                int codemprselect = int.Parse(Ddl_Empresas.SelectedValue);
                string cod = Ddl_Empresas.SelectedItem.Value;
                Session["CodEmpresa"] = codemprselect;
                var resultemp = from emp in db.Tb_Base_Empresa where emp.cdempr == codemprselect select emp;
                var nomeempresa = resultemp.FirstOrDefault();
                Session["Empresa"] = nomeempresa.nmabre;
                v_form = 0;
                vcod = 1;
                Response.Redirect("about.aspx?cod=" + codemprselect);
            }


    Junior

    quarta-feira, 20 de junho de 2012 17:28
  • Nossa tudo isso so para pegar um session e passar para uma outra pagina.

    Voltamos para a programar em DOS ?

    Mesmo assim obrigado pela ajuda.

    Mas vou aguardar uma outra solução mais simples.

    Sera que alguem tem uma solução mais simples pra me ajudar ?

    Por favor.

    quarta-feira, 20 de junho de 2012 19:16
  • Vi que vc está tentando fazer, um esquema de login.

    O ASP.NET, possui um sistema pronto de login de usuários. Se chama MemberShip Provider. Ele monta tudo para vc, até as tabelas no banco de dados. Dá uma conferida aqui:

    http://www.macoratti.net/07/05/aspn_umr.htm

    quinta-feira, 21 de junho de 2012 11:30
  • Sim estou usando um formulario de login.

    Mas vamos esquecer esse detatlhe, vou ser o mais simples possivel e o resto eu dou um jeito.

    Tenho uma pagina pagina1.aspx

    (Nessa pagina quero armazenar um valor numa session ou numa variavel global com o valor igual a 100 de modo que posso recuperar ela em todas as paginas do meu projeto.

    e quando entrar na pagina2.aspx ou pagina3.aspx recupere esse valor 100.

    Bem simples certo.

    Alguem sera que agora com toda essa simplicidade que coloquei pode me ajudar ?

    Obrigado.

    quinta-feira, 21 de junho de 2012 12:36
  • Na primeira página:

    Session["aaa"] = "bbb";

    Na segunda página:

    LabelCC.Text = Session["aaa"].ToString();

    • Marcado como Resposta ricardoti2012 sexta-feira, 22 de junho de 2012 13:43
    quinta-feira, 21 de junho de 2012 12:49
  • Garoto, faz isso:

    string REBECEDROP = dropdowlist.selectedvalue;

    Session.Add["secao",RECEBEDROP''];

    NA OUTRA PÁGINA:

    label.text = Session["secao"];

    É bem simples..

    quarta-feira, 11 de julho de 2012 22:55