Использование кодовых блоков в пользовательских элементах управления - PullRequest
0 голосов
/ 30 сентября 2010

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

<uc1:MyControl ID="MyControl1" runat="server" SomeProperty="<%= somevalue %>"/>

Пользовательский элемент управления имеет открытое свойство SomeProperty, а также использует блок кода для отображения значения свойства:

<p><% = SomeProperty %></p>

Вывод на моей странице, к сожалению,

<p><%= somevalue %></p>

А не фактическое значение. Кто-нибудь знает какой-то обходной путь для этого?

Ответы [ 2 ]

2 голосов
/ 30 сентября 2010

Вы пытаетесь присвоить значение на стороне сервера для элемента управления на стороне сервера - это невозможно.

Вы можете использовать блоки кода в коде на стороне клиента (который не имеет атрибута runat="server")это, конечно, не относится к элементам управления на стороне сервера.

Установите атрибут в коде (ascx) до OnRender:

// In onload, pre render or other event handler 
MyControl1.SomeProperty = somevalue; // C#

MyControl1.SomeProperty = somevalue ' VB.NET
0 голосов
/ 30 сентября 2010

Попробуйте назначить значение свойства метке и вызвать метод .DataBind () для элемента управления.

...