Ich habe ein ASP.Net Server Control erstellt, nennen wir es "WebGrid". Das WebGrid-Steuerelement verfügt über eine eingebettete JavaScript-Ressource, die im ScriptManager der jeweiligen Seite registriert wird, auf der es gehostet wird.Registrieren Sie Javascript Ressource auf einem dynamisch hinzugefügten Server Steuerelement
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
ClientScriptManager scriptManager = this.Page.ClientScript;
scriptManager.RegisterClientScriptResource(typeof(WebGrid), "Atl.Core.Resources.Scripts.WebGrid.js");
}
Ich habe auch dafür gesorgt, dass die WebGrid.js Datei, indem die Action Eigenschaft der Datei zu „Embedded Resource“ und hinzugefügt, um die Ressource zu der AssemblyInfo.cs des Projektes als solches eine eingebettete Ressource :
[assembly: WebResource("Atl.Core.Resources.Scripts.WebGrid.js", "text/js")]
wenn nun die Steuerung im Markup einer aspx Seite wird die Javascript-Ressource mit dem Scriptmanager registriert deklariert und alles funktioniert. ABER, wenn ich das Steuerelement der ControlCollection der Seite dynamisch durch einen Knopf hinzufüge, klicken Sie das Javascript wird NICHT registriert, und die Steuerbeschwerer können solche und solche Javascript-Funktion nicht finden. Beachten Sie sowohl die Taste und die WebGrid in verschiedenen Update gelegen ...
EDIT: wie das Problem Sieht aus, weil ich die ClientScript gegen Script bin mit (siehe Differences between ScriptManager and ClientScript when used to execute JS?). Also, wie registriere ich dann das WebGrid-Skript mit dem ScriptManager der Seite?