我有一个自定义的Web部件,试图调用RenderContents方法,但是结果仅包含该Web部件的周围div,而没有任何子控件。

以这个简单的Web部件为例: 通用标签

然后,在HTTP处理程序中,我试图实例化此Web部件并调用其RenderControl方法。结果是<div class="myTestWebPart"></div>

有人知道为什么我没有从CreateChildControls获得控件也添加到输出中吗?

有帮助吗?

解决方案

这是因为,当您仅实例化一个控件并在其上调用RenderControl而不将其添加到Controls集合中时,它就不是导致所有事件触发的Page生命周期的一部分。

尤其是没有调用调用确保儿童控件的PreRendering。

简单的解决方案是像这样重写Render: 通用标签

其他提示

我建议您使用render方法编写代码,而不要使用createchild控件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top