DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Abrindo Janela de Forma Modal

por Mauricio Junior em 1/1/2011 0

       Olá pessoal, gostaria de ensinar e mostrar de forma prática; como uma janela de forma modal web, ou seja, na internet. Esse dia atrás estava precisando disso e não tinha achado da forma que necessitava.

 

        É bem simples de fazer, mas até descobrir como fazer eu penei um pouco e, para ajudar publico como artigo agora para quem quiser. O problema de abrir de forma modal é que caso necessite de alguma outra coisa da janela anterior, tem que fechar a modal.

 

Requisitos:

Javascript

Linguagem C#.NET

Ferramenta de desenvolvimento: Visual Studio .NET 2008

 

JavaScript

 

         No meu caso, criei um arquivo .js e importei na minha página .ASPX. Eu posso chamar a função criada no arquivo .js de qualquer plataforma ou linguagem. No meu caso estou chamando dentro de um componente chamado GridView. Segue o arquivo (Referência: Code 1)

 

 

/*

    ### função que abre um popup de forma modal

    ### deve ser passado a url, nome, tamanho e largura

    por exemplo OnClick="dialogModal('pagina.html', 'nome', '620', '1024');

*/

function dialogModal(url, nome, nrTamanho, nrLargura) {

    eval(window.showModalDialog(url, nome,'Resizable:no; DialogHeight:'+nrTamanho+'px ; DialogWidth:'+nrLargura+'px; Edge:raised; Help:no; Scroll:no; Status:no; Center:yes;'));

    //eval(caixa);

}

 

Referência: Code 1


GridView

 

         Dentro do meu gridview, tenho as colunas normais da tabela do banco e um botão imagem. (Referência: Code 2)

 

<asp:GridView ID="gridView" runat="server"

                AutoGenerateColumns="false"

                Width="100%" onrowdatabound="gridView_RowDataBound" HorizontalAlign="Center">

                <Columns>

                    <asp:TemplateField ItemStyle-Wrap="false">

                        <ItemTemplate>

 

                            <asp:ImageButton ID="cmdImagemGrid"

                                runat="server" ImageUrl="~/App_Themes/default/image/Doc.gif"></asp:ImageButton>

 

                        </ItemTemplate>

                    </asp:TemplateField>

                    <asp:BoundField DataField="Descricao" HeaderText="Crp" />

                    <asp:BoundField DataField="Sequencial" HeaderText="Passada" />

                    <asp:BoundField DataField="DataMovimento" HeaderText="Data Movimento" />

                    <asp:BoundField DataField="DataInicial" HeaderText="Inicio Transf." />

                    <asp:BoundField DataField="DataFinal" HeaderText="Fim Transf." />

                    <asp:BoundField DataField="TempoTransferencia" HeaderText="Tempo Trans." />

                    <asp:BoundField DataField="QtdDocumentos" HeaderText="Qtd. Docs" />

                    <asp:BoundField DataField="QtdFalhas" HeaderText="Falhas" />

                    <asp:BoundField DataField="Responsavel" HeaderText="Digitalizado por" />

                    <asp:BoundField DataField="PassadaId" HeaderText="Passada" />

                </Columns>

            </asp:GridView>

 

Referência: Code 2

 

         O botão dentro do gridview está separado, dentro da tag <ItemTemplate>. Referência Code 3.

 

 

<ItemTemplate>

 

<asp:ImageButton ID="cmdImagemGrid" runat="server" ImageUrl="~/App_Themes/default/image/Doc.gif"></asp:ImageButton>

 

</ItemTemplate>

 

Code 3

 

Código C#

 

         Para pegar esse botão e adicionar uma propriedade pra ele, tenho que criar o RowDataBound do componente GridView, isso dentro código C#. Referência Code 4.

 

 

protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)

        {

 

            if (e.Row.RowType == DataControlRowType.DataRow)

            {

                //adiciona no botao de imagem o comando javascript dialogModal no onclickClient

                ImageButton img = (ImageButton)(e.Row.FindControl("cmdImagemGrid"));

 

                    img.OnClientClick = "dialogModal ('ControleQualidadeImagem.aspx"','pesquisa1', '620', '1000')";

                }

        }

 

 

Referência: Code 4

 

         É bem simples, verifiquei primeiro se o tipo da linha era DataRow, depois usei o FindControl para achar o componente chamado cmdImagemGrid e depois adicionei a esse componente, o atributo OnClienteClick passando o nome da função criada em JavaScript anteriormente.

 

Resultado Final

 

         O resultado final é uma janela é a mostrada a seguir. (Referência Imagem 1)

 


Referência: Imagem 1

 

 

Espero ter ajudado.

Qualquer dúvida pode entrar em contato pelo comentário do site.

voltar   comente  subir

Download Copy





 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:


Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Resource e Internacionalização – Parte V Usando Visual Studio.NET 2005
Vírus - Link com Vírus
Documento padrão de desenvolvimento
Review do Windows Phone, Games e Aplicativos
Como criar uma tabela dinâmica com ASP.NET
Criando arquivo usando Visual Studio.NET 2005
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010
Vírus - Email com viagra
App iComenda temporariamente free
Você tem boa postura no trabalho?
Vídeo - Teste do Windows 7 RC
Dicas para programar melhor
Sistema de Login em ASP – Parte IX
Sistema de Login em ASP – Parte VII (Utilizando três camadas)
Método MD5
Zune
Litl um computador web
Formatando String rapidamente
Criptografando URL
Mais um certificado Microsoft
Método SHA384
Vírus do Serasa por E-mail
Torne-se Autor de Artigos
TreeView usando Banco de Dados
Gravando erros com eventlog - Parte I
Usando o Flash para Desenvolver Game no Microsoft XNA Developer
Sistema que faz busca no google
Visual SourceSafe – Série 6
Vídeo sobre banco de dados
User Control Windows executando no Internet Explorer (parte 2 de 2)
Membership
Formatando String de Vários Tipos
IsData
Sistema de Controle de Gasolina Mobile - iGas
iMove Developer: chegou para te ajudar




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....

A Era dos UltraBooks

Os modelos mais dos Ultrabooks...




NETITC