Dúvidas sobre passagem de paramêtros entre páginas ASP.NET

29/09/2008

0

Seguindo o exemplo da utilização da classe HttpContext para passagem de paremêtros entre as páginas .aspx disponibilizado aqui, encontrei um problema e não consegui resolvê-lo. Quando estou passando os paremetros ocorre um erro que me diz que o caminho não está especificado para página a ser aberto, isto acontece porque as páginas estão fisicamente em diretórios diferentes. Gostaria de saber como faço para conseguir referenciar a pasta a ser aberta.
Ex:

public static void PassParemeters( string reportServerUrl, string reportPath, string parametersNames, string paremetersValues )
        {
            HttpContext.Current.Items.Add( "reportServerUrl", reportServerUrl );
            HttpContext.Current.Items.Add( "reportPath", reportPath );
            HttpContext.Current.Items.Add( "parametersNames", parametersNames);
            HttpContext.Current.Items.Add( "parametersValues", paremetersValues );

            HttpContext.Current.Server.Transfer( WebReportServer.aspx" );
        }//-- Fim do método PassParemeters



Obs.: O exemplo acima ocorre um erro, dizendo que não conseguiu localizar a página. Já tentei colocar o endereço que único que aparece ao visializar individualmente a página a ser aberta, porém não funcionou. Seria algo do tipo:

            HttpContext.Current.Server.Transfer( "http://localhost:5383/WebReportServer.aspx" );



Peço ajuda se possível.

Sem mais,
Thiago Dantas
[/code:1:2176fc8d04][code:1:2176fc8d04]



Thiago Narcizo

Thiago Narcizo

Responder

Posts

30/09/2008

Rafaelreg20

Você pode fazer dessa maneira.

Response.Redirect(´PáginaReceber.aspx?´ & Codigo)

e na PáginaReceber Você pode receber o parâmetro por queryString.

Cria uma váriavel do tipo string

Dim cCodigo as string = Request.QueryString(´Codigo´)


Responder

30/09/2008

Thiago Narcizo

Vlw... testei o q me disse e funcionou... só queria saber pq da outra maneira não funcionou para poder firmar o conceito e ajudar outras pessoas que enfrentarem o mesmo problema.


Responder

01/10/2008

Rafaelreg20

Thiago,

Eu procurei uma explicação para a sua duvida na net e encontrei a seguinte explicação.

Quando você faz um transfer ele literalmente faz um post da página inteira.

- Server.Transfer -> Apenas para páginas no mesmo servidor web, utilizando HttpContext.Items (assim como sessions, porém assim que o response for concluído a memória é liberada). Ex:

Current.Context.Items(´nome´) = Page.txtNome.Text
Server.Transfer(_urlDestino, false)

.... na outra página ....

Dim s As String = CType(Current.Context.Items(´nome´), String)


Responder

01/10/2008

Thiago Narcizo

Valew... esclareceu muita coisa...

É isso mesmo, ao fazer a passagem de parametros entre aplicações que se encontram em servidores diferentes o uso comum e certo seria Response.Redirect(url)


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar