2011-05-13 2 views
0

Ci-dessous est la fonction Jquery à travers J'appelle une action dans mon application MVC asp.net. Dans l'action du contrôleur, je charge une vue partielle, qui est chargée dans div "résultat". Dans l'action du contrôleur, j'effectue une opération de base de données et charge une grille avec ces données ... mais nous avons d'énormes enregistrements qui prennent du temps (disons que pour une situation différente, c'est 1-10 minutes).Le bloc ui va trop vite

Pour une meilleure expérience utilisateur, nous décidons de bloquer l'interface utilisateur et show spinner avant que les données chargées ...

ci-dessous BlockUI brancher fonctionne pour moi, mais il est trop fast..it montrer que pendant quelques secondes, puis disappier ...

comment éviter this..any aide idea..please ....

function RenderPartialView() { 
    //block the UI until partial view is rendered 
    $.blockUI({ message: '<h3><b><img src="/content/images/loading.gif" /> Please wait while the request is being processed...</b></h3>' }); 
    //load the partial view 
    $('#result').load('@Url.Action("Grid", "Home")', { flip: false }); 
    //unblock the UI 
    $.unblockUI(); 
} 

Répondre

2

charge a une fonction de rappel, vous pouvez accéder à Le rappel fourni est exécuté après le post-traitement a été réalisée (lorsqu'une réponse réussie est de tégé)

Essayez ceci au lieu de vos deux dernières commandes:

//load the partial view 
$('#result').load('@Url.Action("Grid", "Home")', { flip: false }, function(){ 
    //unblock the UI 
    $.unblockUI(); 
}); 
+0

thnx un problème résolu bunch..my .. – user584018