LinkButton дочерние элементы управления рендеринга

Я хочу иметь LinkButton, который добавляет тег "span" вокруг текста.

 protected override void Render(HtmlTextWriter writer)
    {

        Text = String.Concat("<span>", Text, "</span>");
        base.Render(writer);
    }

Это работает отлично, но только если я добавлю текст следующим образом:

<cc:TestLinkButton ID="TestLinkButton" runat="server" Text="SomeText">  
</cc:TestLinkButton>

Если я хочу добавить изображение, я напишу что-то вроде этого:

<cc:TestLinkButton ID="LinkButton1" runat="server">
        <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/icon_holiday.png"                 BorderWidth="0" />
        SomeText
</cc:TestLinkButton>

В этом случае свойство Text будет пустым, потому что фактически "SomeText" является свойством дочернего элемента управления.

Итак, вопрос в том, как добавить тег вокруг дочерних элементов управления.

1 ответ

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

Посмотрите, как это делается для элементов управления вводом: http://attardi.org/labels/

Этот метод использует позиционирование CSS для наложения пролета. Это может сработать для вас.

Другие вопросы по тегам