Efeito: Por exemplo, em um sistema de gerenciamento de equipamentos, o número do equipamento precisa ser preenchido em algum lugar, mas o número do equipamento geralmente é difícil de lembrar, e tudo o que pode ser lembrado é o equipamento em que departamento e local. Portanto, queremos adicionar um botão próximo à caixa de texto. Após clicar, uma subpágina aparecerá. Há uma tabela comparando o número do dispositivo e vários detalhes do dispositivo. local, clique duas vezes neste registro e o número do dispositivo será preenchido.
Processo de implementação:
A função javascript para abrir uma nova janela na página pai é:
função abrir página (htmlurl)
{
var newwin=window.open(htmlurl,"newWin","toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,
redimensionável=sim,topo=100,esquerda=200,largura=650,altura=300");
newwin.foco();
retornar falso;
}
</script>Botão de chamada:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return openpage('child.aspx');"/>
A subpágina vincula a fonte de dados do gridview e grava o seguinte código em seu evento RowDataBound:
void protegido GridView1_RowDataBound (remetente do objeto, GridViewRowEventArgs e)
{
string s = "window.opener.document.getElementById('textbox1').value='" + e.Row.Cells[1].Text + "'; window.close();";
if (e.Row.RowType! = DataControlRowType.Header)
{
e.Row.Attributes.Add("ondblclick", s);//Clique duas vezes na seleção
//Quando o mouse passar, defina a cor da linha como "" e salve a cor de fundo original
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#C0C0FF';this.style.cursor='hand';");
//Restaura a cor de fundo da linha quando o mouse é afastado
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=cor atual");
}
}Explicação: Abra uma nova página através de window.open. Existe um relacionamento pai-filho entre as duas páginas. A página filha pode acessar a página pai (controles e funções js escritas na página pai) por meio do abridor, e a página pai também pode acessar a página filho por meio de sub. Por exemplo, se houver uma função js sayhello() na página pai, você só precisa de opener.sayhello() para chamá-la na página filha.
Usando apenas uma pequena quantidade de código Javascript e combinando-o com asp.net, é alcançado um efeito muito útil.