在CompositeControl上使用ScriptManager添加脚本?

时间:2008-11-17 15:57:40

标签: visual-studio scriptmanager composite-controls

我正在尝试在友好的'ScriptManager'类中调用我的旧'RegisterClientScriptBlock'。

它对我的CompositeControl不起作用?我在普通用户控件(ascx)上使用它。

Visual Studio根本不接受我输入'ScriptManager'或者我得到“当前上下文中不存在名称'ScriptManager'”如果我这样做并尝试编译。出了什么问题 - 我确实有对System.Web.UI的引用,我甚至得到了resharper来帮助我添加它(和using语句) - 如果它只是在那里。

好的,现在非常简单,逻辑正在下降,我只需要知道......

有什么想法吗?

我得到了带有SP1的Visual Studio 2008。

编辑:不起作用的CompositeControl实际上是一个简单的类库,而不是ascx文件自然是Web应用程序的一部分。我知道这可能会导致问题,因为我必须以某种方式设置对页面的引用 - 我试着查看ClientScriptManager但它的构造函数是内部的,表明它在ScriptManager的内部使用 - 但它也暗示可能有一个入口来自一个类库(没有对Page对象的编译时引用)

1 个答案:

答案 0 :(得分:1)

ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);

终于找到了它:)