Пользовательский элемент управления, расширяющий PlaceHolder, помечается как ParseChildren (true). Локализация не работает - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть пользовательский элемент управления, объявленный как

 [SupportsEventValidation, DefaultEvent("ActiveTabChanged")]
    [ParseChildren(true)]
    [PersistChildren(false)]
    [ToolboxBitmap(typeof(System.Web.UI.WebControls.Panel))]
    public class TabContainer : System.Web.UI.WebControls.PlaceHolder, INamingContainer, IPostBackDataHandler, IPostBackEventHandler
    {

, когда я использую это в моей разметке кода, я использую его как

 <MDSL:TabContainer runat="server" ID="t1">
        <ClientEvents>
            <TabChange EventHandler="onTabChanged" />
            <Load EventHandler="onTabLoaded" />
        </ClientEvents>
        <Tabs>
            <MDSL:Tab ID="tablInvoice" runat="server" HeaderText="Invoice">
                <ContentTemplate>
                    <MDSL:TextBox ID="TextBox1" runat="server" Text="in new tab"></MDSL:TextBox>
                </ContentTemplate>
            </MDSL:Tab>
            <MDSL:Tab ID="tabTzhirdTab" runat="server" HeaderText="My new Shiny Header Text">
                <ContentTemplate>
                    <MDSL:Label ID="lbldNew" runat="server" Text="Woohhoo!!" DataField="" DataFormatString=""
                        meta:resourcekey="lbldNewResource5"></MDSL:Label>
                </ContentTemplate>
            </MDSL:Tab>
        </Tabs>
    </MDSL:TabContainer>

Все работает хорошо, как я ожидал,Однако, если я перехожу в представление конструктора и выполняю «Инструменты -> Создать локальные ресурсы», то почти ничего не происходит :( Если я, однако, отмечу это как

ParseChildren (false)

, тогда метапоявляются теги, и все происходит так, как я ожидал. Кто-нибудь может мне помочь?

Спасибо! Ник

1 Ответ

0 голосов
/ 23 февраля 2011

Решил сам. Это был способ обработки переопределения метода CreateControlCollection(). Мне нужна была особая обработка этого метода в представлении дизайна. Затем мне также нужно было правильно использовать атрибут DesignerSerializationVisibility в некоторых открытых свойствах элемента управления.

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