- L'exécution dans ASP.NET MVC à côté jQuery -Un rendu partiel peut-il être rendu sans publication?
J'utilise jQuery pour rendre un bloc <LI>
comme une liste d'éléments de menu déroulant. Il y a 3 items dans cette liste si l'utilisateur n'est pas connecté - 4 items s'il s'est connecté. Ce 4ème item doit exécuter quelques conditions avant de pouvoir décider exactement quelle charge il transporte donc j'ai ce code dans un fichier .ascx contrôle et les appels de la page principale:
<div id="loginBox">
<% Html.RenderPartial("showLoginStatus"); %>
</div>
afin de décider comment le rendre. Cela fonctionne autant que je suis prêt à attendre une publication qui suit la connexion basée sur AJAX. Ce que je dois faire maintenant, c'est que le code s'exécute sans l'actualisation de la page.
La partie de la page qui affiche soit le bouton de connexion ou le nom de l'utilisateur ressemble à:
var form = $("#loginForm");
form.submit(function() {
var data = form.serialize();
$.post(form.attr("action"), data, function(result, status) {
if (result.Success) {
$(".showLoggedUser").html(result.UserName + '<br /><a href="/Admin/Account/LogOut">Log Out</a>');
//how can I force the code contained in 'showLoginStatus.ascx' to render at this point?
api.close();
} else {
$('.loginErrors').html(result.ErrorMessage);
}
}, "json");
return false;
});
});
Avez-vous envisagé d'utiliser un panneau de mise à jour? Bien que les panneaux de mise à jour soient connus pour être "lents", utilisez firebug pour voir combien de données sont réellement affichées. Il peut être petit mais il devrait vous faire gagner beaucoup de place et garder le cycle de vie de la page en échec –