WebPart RenderControl不呈现内容
-
29-10-2019 - |
题
我有一个自定义的Web部件,试图调用RenderContents方法,但是结果仅包含该Web部件的周围div,而没有任何子控件。
以这个简单的Web部件为例: 通用标签
然后,在HTTP处理程序中,我试图实例化此Web部件并调用其RenderControl方法。结果是<div class="myTestWebPart"></div>
。
有人知道为什么我没有从CreateChildControls获得控件也添加到输出中吗?
解决方案
这是因为,当您仅实例化一个控件并在其上调用RenderControl而不将其添加到Controls集合中时,它就不是导致所有事件触发的Page生命周期的一部分。
尤其是没有调用调用确保儿童控件的PreRendering。
简单的解决方案是像这样重写Render: 通用标签
其他提示
我建议您使用render方法编写代码,而不要使用createchild控件
不隶属于 StackOverflow