J'essaie d'utiliser un plugin jQuery dans un contrôle. Les pages sur lesquelles le contrôle peut être activé utilisent des publications partielles via un UpdatePanel. J'inclus jQuery et le plug-in lors de l'événement PreRender de contrôle comme celui-ci:Les plugins JQuery ne fonctionnent pas correctement avec ScriptManager d'ASP.NET AJAX
ScriptManager.RegisterClientScriptInclude(
this,
this.GetType(),
"jquery",
"/_infrastructure/javascript/jquery.js"));
ScriptManager.RegisterClientScriptInclude(
this,
this.GetType(),
"jquery.customPlugin",
"/_infrastructure/javascript/jquery.customPlugin.js");
Le plugin jQuery customPlugin met en place une nouvelle fonction appelée « executeCustomPlugin ». Plus tard dans l'événement PreRender du contrôle, j'utilise le plug-in sur un élément sur le contrôle:
ScriptManager.RegisterStartupScript(
this,
this.GetType(),
"customPlugin init script",
@"$(document).ready(function() {
$('#elementId').executeCustomPlugin();
});",
true);
Cependant, quand il exécute, je reçois l'erreur JavaScript:
$('#elementId').executeCustomPlugin is not a function
Il semblerait que si le plugin jQuery n'est jamais exécuté, mais que je configure window.alerts dans le fichier jQuery.customPlugin.js, il est en effet en cours d'exécution.
Existe-t-il un moyen de résoudre ce problème?
Ceci n'est pas lié à votre question, mais vous ne devez pas utiliser this.GetType() comme clé pour enregistrer vos scripts. Vérifiez ici pourquoi: http://blogs.ipona.com/james/archive/2006/10/03/6710.aspx – womp
Merci, c'est un bon point. –