Est-il possible de lancer une fonction javascript après une vue partielle rend en MVC Asp.net?
Permettez-moi de commencer cette question avec le fait que je suis très nouveau à la MVC.
J'ai un exemple où je suis rendu un devexpress grille dans une vue partielle.
@Html.Partial("MyGridPartial", Model)
J'ai besoin pour lancer une fonction javascript au moment où le modèle a été peuplées par cette vision partielle de rendu. J'ai essayé de le faire via ce. :
settings.ClientSideEvents.EndCallback
Je peux arriver à ce point, mais à l'époque je n'ai pas le modèle lui-même peuplé de sorte qu'il n'est pas bon. Je me demandais si quelqu'un est au courant d'une façon générique de coups de pied/attacher à une vue partielle de rendu afin de sauter dans certains infoclient code javascript.
Tu veux dire "exécuter JavaScript sur le serveur lorsque la moitié de il HTML est rendue?"
En gros, j'ai besoin d'accéder aux données (modèle) fourni par la vue partielle sur le client après la vue partielle a rendu. J'ai essayé de nombreuses façons de lancer une fonction javascript pour que je puisse exécuter certains infoclient code qui permettrait d'effectuer des manipulations sur le modèle, mais à chaque tentative que j'ai faite a été gravement échoué.
En gros, j'ai besoin d'accéder aux données (modèle) fourni par la vue partielle sur le client après la vue partielle a rendu. J'ai essayé de nombreuses façons de lancer une fonction javascript pour que je puisse exécuter certains infoclient code qui permettrait d'effectuer des manipulations sur le modèle, mais à chaque tentative que j'ai faite a été gravement échoué.
OriginalL'auteur Bill Blankenship | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Si vous êtes le rendu de ce partiel dans le cadre du déroulement normal d'un point de Vue rendu, la réponse est NON.
Raison pour cela est la Partielle est convertie en une chaîne de caractères avant de la Vue parent est même rendu. À ce moment, aucun de vos balisage a été vu par le navigateur, sans jscript a été lu.
Si, d'autre part, vous avez rendu la partielle dans votre JQuery Prêt de la fonction:
$(document).ready(function() {
Je pense que vous devez utiliser une Action Partielle (Partial qui est appelée par une méthode d'action). Action Partiels peut être appelée à l'intérieur de votre JQuery Prêt de la fonction par la référence à l'url (paisiblement):
et un suivi jscript/jquery fonctions peuvent être appelées dans le prêt de la série.
L'autre avantage d'une Action Partielle, le Modèle est formé à l'intérieur de la méthode de l'action, et peut être créé de manière contextuelle, à ce dont vous avez besoin (idéalement, fondée off un id passé).
comment êtes-vous passé de la mettre en œuvre?
OriginalL'auteur Dave Alperovich
Si c'est un PartialView vous êtes rendu d'une Vue sur la serverthen Dave méthode fonctionnerait mieux. Il suffit d'y brancher votre code pour les DOM prêt événement.
ou si vous prever la version courte...
Si vous effectuez le rendu d'une vue partielle qui est en train d'être chargé via Ajax ensuite la même méthode de travail. jQuery va exécuter du javascript dans le code html renvoyé au client via Ajax, une fois qu'il est attaché à la DOM si je me souviens bien (n'hésitez pas à tester ce, je vais simplement par la mémoire de il tir une fois fixé le DOM, mais je crois que c'est une caractéristique de la
load()
méthode), en supposant que le code javascript que vous voulez exécuter est dans la réponse. Si c'est dans la page parent de l'envoi de la requête Ajax alors vous êtes meilleur pari est de le raccorder à l'événement complete. (Je suis le remplissage de ce paramètre sur le côté client ici)Pour moi l'url utilisée dans le
.load()
appel est résolu à l'aide de la UrlHelper sur le serveurVous avez également la possibilité de faire quelque chose de similaire à cette aide Discrète Ajax. (Je suis le remplissage de ce paramètre sur le serveur de côté ici)
Il y a plus de propriétés que vous pouvez définir pour le AjaxOptions autre que l'élément de recevoir le code HTML et la méthode à appeler lorsque c'est fini, mais je trouve que je vais réutiliser les fonctions définies dans un partage des fichier javascript et les remplir uniquement si elles ne sont pas déjà peuplée à partir de là, quelque chose comme ça...
veuillez poster votre solution
Malheureusement, j'ai déménagé loin de l'aide de Devexpress et n'arrive pas à trouver ce code n'importe où. Dan au-dessus de demandé la même chose que tout à l'arrière et à l'époque j'avais descendu un itinéraire complètement différent de la mise en œuvre de l'ensemble du projet. Je voulais répondre à Dan, mais perdu au milieu d'une montagne de codage qui ont besoin d'être fait.
OriginalL'auteur Nick Albrecht