2011-09-08 3 views
0

J'ai une application asp.net 3.5 qui contient gridview, ayant une case à cocher en tant que colonne.Éviter la page raccrocher après le lancement du script Registerstartup

Si l'utilisateur ne sélectionne aucune case à cocher et ne clique pas sur le bouton d'envoi, l'alerte est déclenchée et l'utilisateur est invité à sélectionner le bouton.

Le code pour déclencher l'alerte est le suivant;

System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
sb.Append(@"<script language='javascript'>"); 
sb.Append(@"alert('Please select at least one record!')"); 
sb.Append(@"</script>"); 
ScriptManager.RegisterStartupScript(upnlGrid, this.GetType(), "GridView", sb.ToString(), false); 
BindGrid(); 

Jusqu'à ce que l'alerte est congédié, je vois l'image "Chargement ..." (mise à jour ajax barre de progression), ce qui est bien. Mais après l'alerte, je dois encore voir la même image, qui n'est pas visible. en raison de laquelle la page se bloque pendant quelques secondes (5-10 secondes). Pour cela 5-10 secondes, j'ai besoin de montrer l'image de chargement.

S'il vous plaît guider!

Répondre

0

Vous pouvez essayer de valider la sélection avant de procéder à la publication. Voici un exemple grossier:

<asp:Button ID="Button1" runat="server" Text="Foo" OnClientClick="return validateGridSelection()" ... /> 

Et votre fonction JavaScript:

validateGridSelection = function() { 
    var itemsSelected = 0; 
    $("#<%=GridView1.ClientID%>").find("input:checkbox").each(function() { 
     if (this.checked) { 
      itemsSelected++; 
     } 
    }); 
    if (itemsSelected == 0) { 
     alert("Please select at least one checkbox."); 
    } 
    return true; 
} 
+0

merci pour vos commentaires James, mais ma requête est pas comment tirer l'alerte, mais comment afficher la barre de progression après l'alerte est renvoyé jusqu'à ce que la grille soit entièrement chargée (liée) –

+0

Si vous affichez l'alerte avant que la publication ne se produise, la barre de progression devrait s'afficher après l'alerte, n'est-ce pas? Je pense que vous auriez juste besoin de changer la méthode pour retourner true indépendamment (donc il effectue une publication) –

+0

Quels changements doivent être faits? –

Questions connexes