none
passar parâmetro para página Handler.ashx RRS feed

  • Pergunta

  • Boa tarde galera!

    Tenho uma dúvida para finalizar um processo. Tenho uma página para um gridview e dentro do grid tenho um templatefield com um link, dentro deste link chamo a página exibirimagem. No link do grid preencho o parâmetro DataNavigateUrlFormat deste jeito "exibi_imagem.aspx?ID={0}". 

    Isso funciona normalmente para exibir a imagem no banco, pois na página existe um código para pesquisar a imagem. Mas eu alterei este processo utilizando um arquivo Handler.ashx, aonde trato esta imagem para ser exibida em um <asp:Image ID="Image1" runat="server" />. 

    Minha dúvida é: quando o usuário clicar no link do grid ira chamar a página para exibir a imagem dentro do objeto asp:image, mas como eu faço para passar o ID do grid como parâmetro processado dentro do arquivo Handler.ashx? 

    Esta funcionando deste que eu ponha deste jeito na página exibirimagem: <asp:Image ID="Image1" runat="server" ImageUrl = "~/handler.ashx?id=2" />, assim estou chapando ID para passar pro arquivo, como eu passo este ID como se fosse por exemplo: uma variável de sessão?

    segunda-feira, 15 de abril de 2013 17:17

Respostas

  • Boa tarde,

    Você pode criptografar o valor do parametro que você passa por querystring, ou você pode usar recurso de sessão ou cache.

    Exemplo de Sessão

    // Setar
    Session.Add("ID", valor);
    // Recuperar 
    valor = Session["ID"]; 

    Exemplo de Cache

    // Setar
    Cache.Insert("ID", valor);
    // Recuperar
    valor = Cache.Get("ID");

    Espero que te ajude.

    Fábio Alencar

    • Sugerido como Resposta Fábio Alencar segunda-feira, 15 de abril de 2013 21:24
    • Marcado como Resposta csharpItalo terça-feira, 16 de abril de 2013 17:46
    segunda-feira, 15 de abril de 2013 20:03