Effet : Par exemple, dans un système de gestion des équipements, le numéro de l'équipement doit être renseigné quelque part, mais le numéro de l'équipement est généralement difficile à retenir, et tout ce dont on peut se souvenir est l'équipement dans quel département et quel emplacement. Par conséquent, nous souhaitons ajouter un bouton à côté de la zone de texte. Après avoir cliqué, une sous-page apparaîtra. Il y a un tableau comparant le numéro de l'appareil et divers détails de l'appareil. Il me suffit de trouver l'appareil en fonction du numéro. emplacement, double-cliquez sur cet enregistrement et le numéro de l'appareil sera renseigné.
Processus de mise en œuvre :
La fonction javascript pour ouvrir une nouvelle fenêtre sur la page parent est :
fonction page ouverte (htmlurl)
{
var newwin=window.open(htmlurl,"newWin","toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,
redimensionnable=oui,haut=100,gauche=200,largeur=650,hauteur=300");
newwin.focus();
renvoie faux ;
}
</script>Bouton d'appel :
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return openpage('child.aspx');"/>
La sous-page lie la source de données de la vue grille et écrit le code suivant dans son événement RowDataBound :
void protégé GridView1_RowDataBound (expéditeur de l'objet, 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);//Sélection par double-clic
//Lorsque la souris survole, définissez la couleur de la ligne sur "" et enregistrez la couleur de fond d'origine
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#C0C0FF';this.style.cursor='hand';");
//Restaurer la couleur de fond de la ligne lorsque la souris est éloignée
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
}
}Explication : Ouvrez une nouvelle page via window.open Il existe une relation parent-enfant entre les deux pages. La page enfant peut accéder à la page parent (contrôles et fonctions js écrites sur la page parent) via opener, et la page parent peut également accéder à la page enfant via sub. Par exemple, s'il y a une fonction js sayhello() dans la page parent, vous n'avez besoin que de opener.sayhello() pour l'appeler dans la page enfant.
En utilisant seulement une petite quantité de code Javascript et en le combinant avec asp.net, un effet très utile est obtenu.