Appeler une vue partielle sur @ Url.action. J'affiche les enregistrements à l'aide d'URL.action et souhaitez charger la vue partielle lorsque l'utilisateur clique sur les enregistrements.
Voici mon code sur lequel je veux appeler la vue partielle lorsque l'utilisateur clique dessus. P> < Pré> xxx pré>
Voici mon div dans lequel je place la vue partielle p> voici ma vue partielle que je veux rendre p > et voici mon contrôleur p> p> p>
3 Réponses :
Vous pouvez utiliser AJAX pour obtenir les détails de votre liste et rendre la vue partielle sans rafraîchir la page entière
premier package d'installation JQuery.ajax.unobtrive à l'aide de la commande p>
Package d'installation. Ajax.unobtrive strong> p> et assurez-vous que jquery-xxxx.js et jQuery.unobtrive-ajax.js strong> sont inclus avant la liste p> modifier Votre code sur lequel je veux appeler la vue partielle lorsque l'utilisateur clique sur elle p> ou p> et au Haut de votre avis Ajouter ce code P> if (Request.IsAjaxRequest())
{
Layout=null;
}
Essayez d'appeler $ ('# DétailsPlace'). Afficher (); À la fin de la vue si cela ne fonctionne pas dites-moi
Son travail maintenant, mais un autre problème survient à la première fois lorsque je clique sur l'enregistrement, il affiche simplement un écran de fondu avec un symbole de croix de la pop up, mais lorsque je clique ici la prochaine fois qu'il montre la fenêtre.
Je ne peux pas comprendre pouvez-vous expliquer plus
Pop Up ne fonctionne pas lorsque je clique sur l'enregistrement à la première première fois lorsque la vue partielle est chargée mais en même temps, je clique à nouveau sur cet enregistrement, cela me montre la pop up. wat est le problème réel. Tu m'as me procédé maintenant?
@ Ajax.actionLink ("Détails", "Détails", Nouveau {id = item.teamid}, Nouveau Ajaxoptions {httpmethod = "get", insertionMode = insertionMode.replace, updateTargetid = "dialog_window_id", onComplete = "$ ('# # DétailsPLACE '). Afficher (); "})
Essayez ce code et supprimez le $ ('# DétailsPlace'). Afficher (); de la vue je vous l'avez déjà ajouté
et soyez conscient que cela prend un certain temps pour rendre afin que vous ayez besoin de mettre en œuvre une sorte d'indication de chargement
J'ai ajouté une capture d'écran à la question initiale avez un look.
Si vous souhaitez placer partielview dans un div code>, vous pouvez essayer d'essayer
ajax code> assistant. Tout d'abord, essayez de changer
actionResult code> à
partielviewresult code>. L'une des définitions de
AJAX code> assistant est suit:
Vous auriez besoin d'Ajax pour faire cela. Tout d'abord, ajoutez un bloc de script à votre vue avec ce code:
<a href="#" class="details" data-id="@item.TeamId">Details</a>
Merci de travailler maintenant mais un autre problème survient à la première fois lorsque je clique sur l'enregistrement, il montre simplement un écran de fondu avec un symbole de croix de la pop up, mais lorsque je clique ici la prochaine fois qu'il montre la pop up.
Pouvez-vous ajouter une capture d'écran du problème?
Je ne suis pas capable d'ajouter une capture d'écran dans les commentaires. Le problème principal est lorsque la page First Packtback Il ne montre plus qu'à un écran de fondu vierge avec le symbole de la croix de pop up, mais après la fermeture qui apparaît à nouveau, je clique sur l'enregistrement de lien HREF que cela fonctionne comme prévu. Vous êtes-vous eu?
Ajoutez-le à votre question initiale, pas les commentaires.
@ Josh je ajoute la capture d'écran dans ma question initiale
S'il vous plaît jeter un oeil, et en fait, je n'ai pas de méthode d'obtenir pour que j'ai utilisé obtenir: "Poste"
Hmm, avez-vous JavaScript que cet effet de fondu quelque part? De plus, je recommanderais de déboguer cette méthode pour voir exactement où il se passe lorsque vous appelez cette méthode avec Ajax. En outre, je n'utiliserais pas de message pour simplement renvoyer certaines données, la poste est généralement utilisée pour envoyer des données à la base de données, telles que Ajouter, mettre à jour ou supprimer un enregistrement. Si vous obtenez simplement des données pour afficher, j'utiliserais un get.
Alors quel est le problème avec votre code ?? Est-ce que c'est charger cette vue partielle comme une vue entière ?? Pouvez-vous s'il vous plaît expliquer les messages de problèmes / erreurs réels?
Si vous souhaitez le faire de manière dynamique de la page Web, vous devrez regarder AJAX. Essentiellement, vous souhaitez que votre méthode Ajax appelle et action sur votre contrôleur qui retournera votre partialview. Vous faites alors quelque chose comme $ (myContainer) .html (partielview) dans l'onduleur ONSUCCESS ou effectué dans votre méthode Ajax.