Je construis mon premier contrôle d'utilisateur et je voudrais emballer le javascript requis pour le contrôle avec l'assemblée afin que l'utilisateur final n'ait pas à s'inquiéter d'inclure des dépendances. J'ai suivi un tutoriel de Scott Mitchell (http://aspnet.4guysfromrolla.com/articles/080906-1.aspx) mais je n'arrive pas à le faire fonctionner correctement.Comment intégrer javascript directement dans mon ASP.net Custom Control?
Voici ce que je l'ai fait jusqu'à présent:
J'ai créé un fichier CollapsiblePanel.js qui contient la fonction suivante:
function TogglePanel(panelId) {
// $(panelId + ' .PanelContent').toggle();
alert(panelId);
}
Dans le panneau de propriétés que je mets l'Action de génération "Ressource embarquée". Ce fichier réside dans un répertoire scripts/dans mon projet de bibliothèque de classes. L'espace de noms racine de mon projet est webstation.WebControls, donc si ma compréhension est correcte, je devrais référencer le fichier js via "webstation.WebControls.scripts.CollapsiblePanel.js"
J'ai ajouté la ligne suivante juste avant ma classe déclaration pour le contrôle personnalisé:
<Assembly: WebResource("webstation.WebControls.scripts.CollapsiblePanel.js", "text/javascript")>
J'ai annulé l'événement OnPreRender dans mon contrôle personnalisé et ajouté ce qui suit:
Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
Page.ClientScript.RegisterClientScriptInclude("wsWebControlsCollapsiblePanel", _
Page.ClientScript.GetWebResourceUrl(Me.GetType(), "webstation.WebControls.scripts.CollapsiblePanel.js"))
MyBase.OnPreRender(e)
End Sub
Quand je rendre mon contrôle, j'ai un bouton avec la fonction « TogglePanel (this.id); " dans l'événement onclick, mais quand je clique sur le bouton j'obtiens une erreur disant que la fonction n'est pas définie. Si quelqu'un sait comment je pourrais commencer à utiliser mon javascript intégré Je voudrais vraiment apprécier l'aide,
Mike