Доступ к / Установка значения свойства свойства объекта пользовательского элемента управления ASP.NET - Использование декальативного синтаксиса - PullRequest
1 голос
/ 18 августа 2011

Мне кажется, что я вспоминал прошедшую статью, в которой объяснялось, как НЕОБХОДИМО установить значение свойства объекта, представленного как свойство пользовательского элемента управления ASP.NET.

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

Вот пользовательский элемент управления (дизайнер) ...

<div id="toolbar">
    <ASP:LinkButton runat="server" id="btnFirst"    />
    <ASP:LinkButton runat="server" id="btnSecond"   />
    <ASP:LinkButton runat="server" id="btnThird"    />
    <ASP:LinkButton runat="server" id="btnFourth"   />
</div>

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

public partial class Lookuptoolbar: UserControl
{
    public LinkButton FourthButton
    {
        get { return (this.btnFourth); }
    }
}

Когда я включаю элемент управления на странице, я ожидал, что смогу установить ТЕКСТ моей ЧЕТВЕРТОЙ кнопки, используя следующий ДЕКЛАРАТИВНЫЙ синтаксис ...

   <UC:MyControl id="uc1" runat="server" FourthButton_Text="Click Me!"/>

Когда-то давно я где-то читал, что вы можете получить доступ к свойствам объекта (представляемым как свойство элемента управления пользователь / сервер), используя синтаксис подчеркивания. Это не работает для меня вообще. Это больше не разрешено или я что-то упустил? Есть ли какой-нибудь способ сделать это?

Спасибо, Gary

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

Хорошо ... всем, кого это может заинтересовать, я думаю, что нашел ответ, или, по крайней мере, его начало. Синтаксис будет с ГИФЕНОМ, а не с подчеркиванием. Таким образом, правильный синтаксис будет.

 <UC:MyControl id="uc1" runat="server" FourthButton-Text="Click Me!"/> 

При доступе к «подвойствам» сложных типов может быть что-то большее; Я не вдавался в подробности, но в книге «Разработка серверных элементов управления и компонентов Microsoft ASP.NET», изданной Microsoft Press (ISBN 0-7356-1582-9), об этом говорится на страницах 218-222.

Если кто-нибудь узнает что-то еще, я хотел бы услышать об этом, иначе я надеюсь, что это поможет кому-то там!

-Гари

0 голосов
/ 18 августа 2011

Я никогда не слышал и не видел, чтобы кто-нибудь использовал метод, о котором вы говорите (используя подчеркивание для доступа к свойствам объекта в декларативном синтаксисе).

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

public string FourthButtonText
{
    get { return this.btnFourth.Text; }
    set { this.btnFourth.Text = value; }
}
...