Après avoir cliqué sur le bouton de recherche sur la page actuelle, l'événement bouton onclick de la page actuelle générera une instruction SQL, puis accédera à la page des résultats de la requête. Étant donné que la requête peut prendre du temps, le client exige qu'un rappel soit ajouté. ces deux pages pour indiquer que l'utilisateur interroge. Veuillez attendre la page,
La requête spécifique est effectuée dans Page_Load de la page de résultats de la requête.
Le problème actuel est de savoir comment rediriger automatiquement cette page intermédiaire vers la page de résultats de la requête. Si elle est écrite en Page_Load, cette page intermédiaire ne sera pas affichée. Il existe deux solutions plus pertinentes :
la première.
1. Vous pouvez créer un contrôle utilisateur public, copier le code suivant et définir vous-même le style
<div id='doing' style='Z-INDEX : 12000 ; GAUCHE : 0px ; CURSEUR : attendre ;
<table width='100%' height='100%' id="Table1">
<tr align='center' valign='middle'>
<td>
<table id="Table2" class="loading">
<tr align='center' valign='middle'>
<td>Chargement...</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<langage de script="javascript">
fonction ShowWaiting()
{
document.getElementById('doing').style.visibility = 'visible';
}
fonction CloseWaiting()
{
document.getElementById('doing').style.visibility = 'hidden';
}
fonction MyOnload()
{
document.getElementById('doing').style.visibility = 'hidden';
}
si (window.onload == null)
{
window.onload = MyOnload ;
}
</script>
2. Faites glisser le contrôle utilisateur 3 dans la page
. Ajoutez une méthode de clic client au bouton de la page, comme suit
protected void Page_Load (expéditeur de l'objet, EventArgs e)
{
this.Button1.Attributes.Add("onclick", "ShowWaiting();");
}
Le deuxième type de
première page, tel que first.aspx, ajoute le js suivant :
<langage de script="javascript">
<!--
var _tt;
fonction showSending()
{_tt=window.open("processwin.aspx",'uploadfileprocess',"toolbar=0,location=0,directories=0,status=0,
menubar=0,scrollbars=1,resizing=1,top="+dispHeight+",left="+dispWidth+",width=410,height=200",true);
renvoie vrai ;
}
fonction closewin()
{
si (_tt!=null)
{
_tt.close();
}
}
//-->
</script>
<body bgColor="silver" onunload="closewin();">
Ensuite, le code d'arrière-plan first.aspx.cs
Lorsque page_load(), ajoutez les attributs suivants au bouton de récupération :
btFileUpload.Attributes.Add("onclick","return showSending()");
La page processwin.aspx est la page du milieu que vous souhaitez y écrire.