2010-08-18 62 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以幫助您入門