Efecto: por ejemplo, en un sistema de gestión de equipos, el número del equipo debe completarse en algún lugar, pero el número del equipo suele ser difícil de recordar y todo lo que se puede recordar es el equipo, en qué departamento y ubicación. Por lo tanto, queremos agregar un botón al lado del cuadro de texto. Después de hacer clic, aparecerá una subpágina. Hay una tabla que compara el número de dispositivo y varios detalles del dispositivo. ubicación, haga doble clic en este registro y se completará el número del dispositivo. Subió.
Proceso de implementación:
La función de JavaScript para abrir una nueva ventana en la página principal es:
función página abierta (htmlurl)
{
var newwin=window.open(htmlurl,"newWin","toolbar=no,ubicación=no,directorios=no,status=no,scrollbars=yes,menubar=no,
redimensionable=sí,arriba=100,izquierda=200,ancho=650,alto=300");
newwin.enfoque();
devolver falso;
}
</script>Botón de llamada:
<asp:Botón ID="Botón1" runat="servidor" Text="Botón" OnClientClick="return openpage('child.aspx');"/>
La subpágina vincula la fuente de datos de gridview y escribe el siguiente código en su evento RowDataBound:
vacío protegido GridView1_RowDataBound (remitente del objeto, GridViewRowEventArgs e)
{
string s = "window.opener.document.getElementById('textbox1').value='" + e.Row.Cells[1].Text + "'; window.close();";
si (e.Row.RowType! = DataControlRowType.Header)
{
e.Row.Attributes.Add("ondblclick", s);//Selección con doble clic
//Cuando el mouse se mueve, establece el color de la línea en "" y guarda el color de fondo original
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#C0C0FF';this.style.cursor='hand';");
//Restaura el color de fondo de la fila cuando se aleja el mouse
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
}
}Explicación: Abra una nueva página a través de window.open. Existe una relación padre-hijo entre las dos páginas. La página secundaria puede acceder a la página principal (controles y funciones js escritas en la página principal) a través del abridor, y la página principal también puede acceder a la página secundaria a través de sub. Por ejemplo, si hay una función js sayhello() en la página principal, solo necesita opener.sayhello() para llamarla en la página secundaria.
Utilizando sólo una pequeña cantidad de código Javascript y combinándolo con asp.net, se consigue un efecto muy útil.