2010-08-18 66 views
0

我有几个控件设置为runat =“server”,但在后面的vb代码中显示为“未声明”。即使design.vb被重新创建,它们也不会被设置在designer.vb文件中。未定义嵌套的ASP.Net控件

我能想到的唯一可能是造成这种情况的原因是控件位于自定义控件的内部。该代码看起来是这样的(因为NDA的它已被修改):

<abc:MyCustomControl> 
    <additionalItems> 
    <asp:CheckBox id="coolCheckboxOfPower" runat="server" Text="Triple Rainbow!"> 
    </asp:CheckBox> 
    </additionalItems> 
</abc:MyCustomControl> 

因此,使用上面的例子,如果我尝试在我的VB页面中使用coolCheckboxOfPower,它说,它没有声明。

有人向我暗示asp控件不能嵌套。这是真的吗?如果是这样,我该如何解决这个问题?

+0

仅供参考,您的abc:MyCustomControl也应该有runat =“server”。 – 2010-08-19 00:55:29

回答

0

Asp控件肯定可以嵌套。只需看看asp:Panel,asp:ListView等。创建控件时需要做一些额外的工作才能实现。也就是说,您必须在您的控件上制作一个ITemplate属性。请查看以下Building Templated Custom ASP.NET Server Controls以帮助您入门