UserControl在使用aspx标记添加到页面时不呈现子项

时间:2011-11-17 22:07:05

标签: c# asp.net

我必须在这里错过一个技巧。我有一个.aspx页面(使用母版页,如果这很重要),其中包含以下代码:

<me:ModuleContainer runat="server" ID="topmodules"></me:ModuleContainer>

现在由于某种原因,我调用了ModuleContainer的UserControl,控件上的所有属性都被正确调用,但它似乎没有用.ascx中的子项填充控件文件。无论我在代码中尝试访问它们(在Load和PreRender上试过),值始终为null。

但如果我使用LoadControl方法以编程方式添加它(但不仅仅是通过声明ModuleContainer的新实例,它就有效。

理想情况下,我希望在页面中加载时能够正常工作。我做错了什么?

1 个答案:

答案 0 :(得分:1)

在提出问题后的一个小时内甚至没有,我就把它解决了。

控件未在web.config文件中注册为.ascx文件。我试图使用这个标记注册整个命名空间。

<add tagPrefix="me" assembly="My.Website" namespace="My.Website.Controls" />

但是当我使用这个标记时,它工作正常

<add src="~/Controls/ModuleContainer.ascx" tagName="ModuleContainer" tagPrefix="me" />