Добавить скрипт с ScriptManager на CompositeControl?
Я пытаюсь вызвать мой старый добрый RegisterClientScriptBlock в дружественном классе ScriptManager.
Это просто не работает для моего CompositeControl? Я использую его на обычном пользовательском контроле (ascx), где он работает.
Visual Studio просто не примет меня, набрав "ScriptManager", или я получу "Имя" ScriptManager "не существует в текущем контексте", если я это сделаю и попытаюсь скомпилировать. Что не так - у меня есть ссылки на System.Web.UI, и я даже получил резарпер, чтобы помочь мне добавить его (и оператор using) - если бы он только был там.
Итак, что-то очень простое и логика идет вниз, мне просто нужно знать, что...
Есть идеи?
Я получил Visual Studio 2008 с пакетом обновления 1 (SP1).
РЕДАКТИРОВАТЬ: CompositeControl, который не работает, на самом деле является простой библиотекой классов и не является частью веб-приложения, которым естественным образом является файл ascx. Я знаю, что это может вызвать проблемы, так как мне нужно было бы как-то установить ссылку на страницу - я попытался посмотреть на ClientScriptManager, но его конструктор является внутренним, указывая, что он используется где-то как внутри ScriptManager, - но он также намекает на то, что может быть вход, поступающий из библиотека классов (без ссылки на время компиляции на объект Page)
1 ответ
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);
Наконец-то нашел это:)