Usuário com melhor resposta
Como recuperar uma informação de um DropDownList numa outra pagina

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.
Respostas
-
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
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
-
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.
-
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
-
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: }
-
-
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: }
-
-
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
-
-
-
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();
}
} -
-
-
-
-
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!
-
-
-
-
-
-
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 ?
-
-
-
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! -
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 ?
-
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
-
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.
-
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:
-
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.
-
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
-