Pular para o conteúdo principal

Trabalhando com window.showModalDialog

Bom caro leitor,
Trabalhar com showModalDialog é bem simples. Não irei entrar em detalhes das propriedades deste objeto, partirei direto para o código. Veja abaixo:

na janela principal, a que vai fazer a chamada ao objeto showModalDialog adicionarei o seguinte código em javascript:

<script type="text/javascript">
function Detalhar(id)
{
var argsVariable = id;
var rv = window.showModalDialog("DetalharDPS.aspx?id=" + id, argsVariable, "dialogWidth:300px; dialogHeight:200px; center:yes; status:no;");
alert(rv);
}
</script>

A variável argsVariable é usada como variável de transferência de valores entre as duas janelas, a principal e a modal.
A variável rv é usada para receber um valor da janela modal.
O alert será usado para mostrar o valor de rv depois que a janela modal for fechada.

onde você vê # considere como sendo <

na janela modal teremos o sequinte codigo:
<head runat="server">

<script language="JavaScript">


function load() {
if (window.dialogArguments) {
alert(dialogArguments);
var arg = "80";
window.returnValue = arg;
window.close();
}
}


</script>
<base target="_self">
</head>

a funçao load verifica se existe argumentos passados, que é a variável argsVariable passada como parametro do objeto showModalDialog, e emite um alerta para o usuário. Logo após registra uma variavel de retorno para a janela principal e fecha a tela.

código da janela modal, evento Page_Load:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "fechar", "load();", true);

Pornto!! Faça o teste.

Trabalhar com janelas modais é bom para evitar que o usuário fique perdido entre as janelas que abrem, que é o caso do window.open e também evita o desperdício de tempo.

Até mais :)

Comentários

Postagens mais visitadas deste blog

EmguCV DLL Not Found Exception -Unable to find cvextern?

Eu também tive os mesmos problemas. Neste fórum emgucv , não sei por que cvextern.dlldo emgucv 3.4.3 não é possível carregar cvextern (porque não é possível encontrar cvextern), e você permitiu usar o arquivo cvextern.dlldo emgucv 3.4.2 (certifique-se de escolher x64 / x86), copie /bin/Debuge este arquivo é encontrado automaticamente /bin/Debug/x86ou /bin/Debug/x64quando você termina de construir o programa no Visual Studio.  O Erro:  The type initializer for 'Emgu.CV.CvInvoke' threw an exception. : Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)  Para resolver o problema copia a pasta x64 ou x86 para dentro da pasta bin da aplicação. Ou copie os arquivos para dentro da pasta bin da aplicação WCF.

Vagas .Net - Projeto CNSA

Prezados, Estamos selecionando candidados, em forma de cadastro de reserva, para participar do projeto: Cadastro Nacional de Sociedade de Advogados, na Assessoria de Tecnologia da Informação do Conselho Federal da OAB. Basicamente teremos 3 fases: * Avaliação Curricular; * Entrevista Pessoal; * Verificação prática; Outras informações: Vaga: Desenvolvedor .NET. Quantidade: 3. Tempo: 4 meses. Segue abaixo os requisitos que devem ser atendidos pelo candidato: Conhecimentos básicos * Conhecimento avançado em C#; * Conhecimento em ASP.NET 2.0; * ADO.NET 2.0; * SQL SERVER 2005 (DML, stored procedures, MER); * UML (Interpretação de casos de uso, diagrama de atividades, de classe, de sequência); * Experiência em projetos anteriores com ASP.NET e C#; Desejável * LINQ TO SQL; * Conhecimento em JavaScript e padrões Web (XHTML, CSS, etc); * ASP.NET 3.5; * C# 3.0 (LINQ, Propriedade implementadas automaticamente, Métodos de Extensão, Expressão Lamb...

Lista de IPs DNS Oi nos Estados

As vezes quando colocamos um IP fixo para uma máquina na rede, e esta rede tem acesso a internet através da rede da Oi, bem provável que você não conseguirá acessar a internet. Para resolver o problema defina o DNS primário e Secundário nas propriedades da placa de rede. - Protocolo TCP/IP Versão 4 (TCP/IPv4). Segue lista de DNS por estado. RS 201.10.1.2 201.10.120.3 SC 201.10.120.3 201.10.1.2 PR 201.10.120.2 201.10.128.3 GO 201.10.128.3 201.10.120.3 DF 201.10.128.2 201.10.120.2 MS 201.10.128.3 201.10.1.2 MT 201.10.128.2 201.10.120.3 RO/AC 201.10.128.2 201.10.1.2