PROGRAMANDO EM ASP.NET

 Busca Online:
 

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

Abrindo Janela de Forma Modal



Data Publicação: 8/10/2009 17:01:20
Total de visualizações: 2438

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras


       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.



Total de visualizações: 2438
voltar   comente  subir


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA LOGAR

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

IsDecimal
Artigo criando atalhos para a sua aplicação.
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
CES 2008: Keynote do Bill Gates
Aplicativos para Dispositivos Móveis, Usando C#.NET com a ferramenta Visual Studio.NET e com Banco de Dados MySQL e SQL Server
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Sistema Calcula IMC e IGC no Celular
Promoção de Certificação Second Shot
Evento Brasil DotNet - gratuíto
Linguagem de programação: Nunca faça isso - C#.NET
TV no Celular com Windows Mobile
Máscara valor que funciona
Vem ai a semana de Interoperabilidade
Gerando Relatório e Exportando para o Excel Com Visual Studio.Net 2005
Controle de Peso pelo Celular Publicado no CodePlex
Anime-se com o Silverlight
Criptografia de String de Conexão no Web.Config
Você tem boa postura no trabalho?
Saiba ganhar dinheiro navegando na internet
Chama método que está dentro do COM PLUS (COM +)
IsAlpha
Criando TreeView com Visual Studio.NET 2005 (passo 1)
Concurso Office
Ext JS
Microsoft abre sua loja de aplicativos para desenvolvedores de software mobile
Orientação a Objetos - Microsoft PetShop 3.0
Detectando ENTER
Teclas de Atalho do Visual Studio .NET 2010
Novo iGas 2.0 Mobile
Novo TechNet Experience Online
Web 2.0 - A máquina somos nós
Chrome - não reconhecimento...
Lendo Arquivo txt usando Visual Studio.NET 2005
Usando public interface
Microsoft® Expression® Web
Sobre o Autor
  [sumir] [aparecer]
 
Mauricio Junior Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.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.orgSite pessoal  www.mauriciojunior.org

Informações Online
Usuários Online: 1517
Artigos:  729
Vídeos:  59
PodCast's:  42
Fórum:  3127
Empregos:  1359
Usuários Cadastrados: 6080
Publicidade
LAYERDEV




Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC