Я создал элемент управления ASP.Net Server, позвонил на него «WebGrid». Элемент управления WebGrid имеет встроенный ресурс javascript, который он регистрирует с помощью ScriptManager на любой странице.Зарегистрировать ресурс javascript на динамически добавленном серверном элементе управления
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
ClientScriptManager scriptManager = this.Page.ClientScript;
scriptManager.RegisterClientScriptResource(typeof(WebGrid), "Atl.Core.Resources.Scripts.WebGrid.js");
}
Я также уверен, что файл WebGrid.js является внедренный ресурс, изменив свойство сборки действия файла в «Embedded Resource» и добавил ресурс в AssemblyInfo.cs проекта как такового :
[assembly: WebResource("Atl.Core.Resources.Scripts.WebGrid.js", "text/js")]
Теперь, когда управление объявляется в разметке на странице ASPX Javascript ресурс зарегистрирован в ScriptManager и все работает отлично. НО, если я добавлю элемент управления в ControlCollection страницы динамически с помощью кнопки, щелкните javascript, НЕ регистрируйтесь, а жалоба на управление не может найти такую-то функцию javascript. Обратите внимание, как кнопки и WebGrid расположены в различных UpdatePanels ...
EDIT: Похоже, проблема в том, что я использую ClientScript против ScriptManager см (Differences between ScriptManager and ClientScript when used to execute JS?). Итак, как я могу зарегистрировать скрипт WebGrid с помощью ScriptManager страницы?