quarta-feira, fevereiro 13, 2008

Popup com parâmetros em Asp.net

Chega de tanto blá, blá, blá. Vamos ao que interessa. O código santo de cada dia, hehehe.

Em um trabalho envolvendo Asp.net, precisei exibir alguns dados em um GridView. Mas eu não queria exibir na mesma página e nem chamar outra página utilizando link. Fixei a idéia que deveria utilizar uma janela popup para exibir esse Grid. A consulta utilizada por ele recebia dois parâmetros informado pelo usuário. Data inicial e final.

Pensei que poderia passar os parâmetros pelo lado do servidor.

< id="Button1" runat="server" text="Popup usando JavaScript" onclientclick="popitup('Popup.aspx?texto="<% Response.Write(TextBox1.Text); %> /> < / asp : button >

Mas eu recebi essa linda mensagem de erro:

Parser Error Message: Server tags cannot contain <% ... %> constructs.


Eu sabia que poderia pegar o valor do controle utilizando JavaScript. Arrumei um exemplo para refrescar a memória no bom e velho Google e montei meu código.

Também tinha achado um exemplo para criar o código do Script do lado do servidor usando o método RegisterStartupScript. Esse método coloca o script na base da página - depois que o navegador receber todas as tags e antes da tag </form>.

Hoje de noite preparei um exemplo com essas duas formas de se chamar um Popup quando se trabalha com Asp.net


Tela da página ChamaPopup.aspx





Tela do Popup.aspx





Usando a opção de JavaScript, acrescentei um "return false" no evento para evitar que o postBack do botão seja acionado. Dessa maneira se o usuário clicar no botão de voltar do navegador, vai voltar para a página anterior e não "voltar" para a mesma página.

Quando estava preparando esse exemplo, pesquisei sobre o método RegisterStartupScript e achei dois excelentes artigos sobre o tema abordado aqui.

São eles:


Download do exemplo

http://www.4shared.com/file/60270705/1d5814e3/ChamaPopup.html

Nenhum comentário: