• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ki_ko

Como enviar uma classe para outra página?

3 mensagens neste tópico

tenho um botao numa pagina que faz actuar um mecanismo de pesquisa, e cujos resultados sao enviados para dentro de uma classe resultados.

eu agora queria que alem de o botao disparar a pesquisa , me enviasse para outra pagina "MostraResultados" e alem disso me enviasse a classe Resultados para essa mesma pagina para eu no page_load prencher o gridview com os resultados. como faço?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste caso eu não usaria Cross-Page Posting....

Se queres carregar no botão de pesquisa e apresentar os resultados na página "MostraResultados" eu diria que o melhor que tens a fazer é o botão fazer postback a essa página. Ao fazeres postback os dados de formulário são enviados para a nova página, assim a página só tem de ler os valores (neste caso a palavra de pesquisa), calcular os resultados a mostrar e apresenta-los.

No teu caso fazer a pesquisa na página actual ou na página que mostra os resultados é indiferente. Se fizeres a pesquisa na página actual tens que fazer um novo pedido (usando redirect ou server transfer) e assim é percorrido o ciclo de vida de duas páginas no servidor. Mais, é possivel que o ciclo de vida da página actual seja executado duas vezes, pois para a página "MostraResultados" ter acesso acesso a página anterior esta tem de ser criada no servidor e penso que não aproveitada a instância que já existia (desta parte não tenho 100% a certeza)

Podes fazer qualquer coisa assim:

Pagina de Pesquisa:

<body>
    <form id="form1" runat="server">
        <asp:TextBox ID="ChavePesquisa" runat="server"></asp:TextBox>
        <asp:Button ID="Button" runat="server" Text="Pesquisar"  PostBackUrl="~/MostrarResultados.aspx"/>
    </form>
</body>

Code Behind da página de MostrarResultados :

public partial class MostrarResultados : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Coleccao com os valores enviados no Postback
        System.Collections.Specialized.NameValueCollection form = HttpContext.Current.Request.Form;
        
        //Ler qual foi a palavra a pesquisar
        String palavra = form["ChavePesquisa"];

        //Procurar os resultados para a palavra 

        //Adicionar os resultados a pagina
    }
}

Espero ter ajudado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora