Bonjour J'ai du mal à faire fonctionner un fichier js intégré.Raisons pour lesquelles WebResources est introuvable
J'ai essayé tous les éléments suivants:
- Exécuter un serveur de développement Cassini (VS2008, .NET 3.5)
- Ajouté [Assemblée: WebResource ("MyNamespace.MyScriptFile.js", « text/javascript ")] au-dessus de la déclaration d'espace de noms de la classe.
- Le fichier script a une action de construction "Embedded Resource". Essayé d'enregistrer pendant OnInit, OnLoad et OnPreRender
- Le fichier de script se trouve dans le même assembly et le même espace de noms que le contrôle l'enregistrant.
- L'assembly ouvert avec Reflector et vérifié le nom de la ressource est correct.
ne fonctionne pas en utilisant l'une des méthodes suivantes:
ScriptManager.RegisterClientScriptResource(Page, GetType(), "MyNamespace.MyScriptFile.js"); Page.ClientScript.RegisterClientScriptResource(GetType(), "MyNamespace.MyScriptFile.js"); Page.ClientScript.RegisterClientScriptInclude(GetType(), "key", Page.ClientScript.GetWebResourceUrl(GetType(), "MyNamespace.MyScriptFile.js"));
- D'autres fichiers webresource.axd sont trouvés - que celui-ci n'est pas trouvé.
La demande de la ressource renvoie une page 404 à l'exception indiqué: "*[HttpException]: This is an invalid webresource request.*"
Utilisation du produit ScriptManager.RegisterClientScriptResource l'exception:
"*Web resource 'MyNamespace.MyScriptFile.js' was not found.*"
Cela peut fonctionner, mais l'un des objectifs de l'utilisation de ressources intégrées est que vous pouvez empaqueter des fichiers javascript dans des assemblages qui sont ensuite envoyés à différents projets. Les ressources peuvent ensuite être ajoutées dynamiquement par les contrôles qui en ont besoin.Si je dois créer mon propre ScriptManager, le but de l'utilisation d'une ressource intégrée est en quelque sorte vaincu. – cbp
Je ne suis pas d'accord avec cette évaluation. Avoir votre propre gestionnaire de scripts est un moyen d'abstraire le besoin de "chaînes magiques". Si vous devez l'écrire plus d'une fois, "MyNamespace.MyScriptFile.js" serait une chaîne magique. Si j'étais vous, j'utiliserais cette approche simplement parce qu'elle permet la réutilisation et qu'elle remplit votre but, non? – zowens
J'ai essayé votre solution et cela fonctionne - merci! J'ai plutôt utilisé ScriptManagerProxy pour pouvoir empaqueter et distribuer la ressource intégrée correctement. – cbp