1

我试图在友好的“ScriptManager”类上调用我的旧“RegisterClientScriptBlock”。

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

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

好的,所以一些非常简单的事情和逻辑现在正在下降,我只需要知道什么......

有任何想法吗?

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

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

4

1 回答 1

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

终于找到了:)

于 2008-11-17T16:15:14.597 回答