Как вы представляете Panel как свойство в пользовательском элементе управления? - PullRequest
0 голосов
/ 21 августа 2010

У меня есть пользовательский элемент управления с панелью на нем:

CustomControl.ascx

<%@ Control Language="vb" CodeBehind="CustomControl.ascx.vb" %>
<asp:Panel ID="myPanel" runat="server"></asp:Panel>

Я бы хотел представить эту панель как свойство, которое можно использовать во время разработки.

CustomControl.ascx.vb

<ParseChildren(True), PersistChildren(False)> _
Partial Public Class CustomControl
    Inherits System.Web.UI.UserControl

#Region "Members and Properties"
    <PersistenceMode(PersistenceMode.InnerProperty)> _
    Public Property SomePanel() As Panel
        Get
            Return myPanel
        End Get
        Set(ByVal value As Panel)
            myPanel= value
        End Set
    End Property

#End Region


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         Response.Write(myPanel.HasControls.ToString())

    End Sub

End Class

А затем перенести элемент управления на страницу примерно так:

<ucl:CustomControl runat="server">
    <SomePanel>
        <asp:Label ID="lblText" AssociatedControlID="txtBox" runat="server"></asp:Label>
        <asp:TextBox id="txtBox" runat="server"></asp:TextBox>
    </SomePanel>
</ucl:CustomControl>

Когда я запускаю страницу, HasControls имеет значение true, но ничего не отображается. Что я делаю не так?

1 Ответ

0 голосов
/ 21 августа 2010

Вы можете добиться аналогичного эффекта, разработав свой пользовательский элемент управления в качестве шаблона элемента управления. Это не так сложно настроить, если вы решите пойти по шаблону.

Ознакомьтесь с этим кратким руководством, чтобы определить, подходят ли вам шаблоны управления:

http://msdn.microsoft.com/en-us/library/36574bf6.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...