Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RadToolTip';s渲染控制方法_C#_Asp.net_Telerik_Web Parts - Fatal编程技术网

C# RadToolTip';s渲染控制方法

C# RadToolTip';s渲染控制方法,c#,asp.net,telerik,web-parts,C#,Asp.net,Telerik,Web Parts,我有一个asp.net应用程序,它使用web部件框架允许用户自定义其界面。此功能之一是可用web部件的目录,默认情况下会提供一个,但如果希望更改布局等,可以覆盖该目录 override void RenderCatalogPart(HtmlTextWriter writer, CatalogPart catalogPart) 据我所知,这是唯一的办法。目前,我正在创建一个包含所有必要元素的面板,并使用面板的RenderControl方法将其输出到htmlwriter。到目前为止,一切顺利。当我

我有一个asp.net应用程序,它使用web部件框架允许用户自定义其界面。此功能之一是可用web部件的目录,默认情况下会提供一个,但如果希望更改布局等,可以覆盖该目录

override void RenderCatalogPart(HtmlTextWriter writer, CatalogPart catalogPart)
据我所知,这是唯一的办法。目前,我正在创建一个包含所有必要元素的面板,并使用面板的RenderControl方法将其输出到htmlwriter。到目前为止,一切顺利。当我尝试使用相同的RenderControl方法将radtooltip添加到面板时,出现以下运行时错误:

页面不能为空。请确保此操作是在ASP.NET请求的上下文中执行的

我可以理解为什么这可能是一个问题,因为工具提示可能使用javascript,并且必须将其写入页面-但是RenderCatalogPart方法不知道它将输出到哪个页面。有没有办法解决这个问题,或者我必须想出一个替代方案

我已经在telerik网站上发布了这篇文章,但如果有人有任何想法,我也会在这里询问


谢谢。

Telerik ASP.NET控件需要MS AJAX ScriptManager控件。我想这就是为什么他们也想访问该页面——获取对ScriptManager的引用。尝试将工具提示的RegisterWithScriptManager属性设置为false,然后查看控件是否呈现。

这里的问题是,必须在PreRender中创建工具提示并将其作为控件添加,以便它可以将其脚本添加到ScriptManager


在PreRender()方法中创建一组工具提示,然后将它们写入httpwriter,如上面RenderCatalogPart中所示,解决了这个问题。

感谢您的建议,但遗憾的是,没有起到作用。我开始认为,如果没有从某个地方获得对该页面的引用,这可能是不可能的。