2010-08-31 3 views
3

Привет,Как назначить значение свойства управления из глобальной переменной в код страницы?

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

Мои глобальные переменные

public string Banana = "banana_pie"; 
public string Apple = "apple_pie"; 

в моем таможенного контроля вместо:

<uc:LoadPie id="pieBanana" type="banana_pie" /> 

Для этого

<uc:LoadPie id="pieBanana" type="<%=Banana %>" /> 

так есть способ или просто присвоить свойство в коде страницы обратно.

Благодаря

+0

У вас есть четкое название, но вопрос сам по себе не является. Как вы писали, что связано с названием? В чем ваш вопрос? Почему упоминаются файлы ресурсов? Вам нужно интернационализировать? – Oded

+0

@Oded: Я поставил глобальную переменную как const в этом примере, и я упомянул файл ресурсов как один из способов обхода этой проблемы (неправильный способ решения, но он ее решает). то, что является частью вопроса, является неопределенным, поэтому я могу его обновить. thx – Kronass

+0

@Oded: я обновил свой вопрос, если это станет более ясным. – Kronass

ответ

5

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

<uc:LoadPie id="pieBanana" type='<%#Banana%>' runat="server"></uc:LoadPie> 

Но в вашем коде позади вы должны вызвать

pieBanana.DataBind(); 

в загрузке страницы для того, чтобы выражение привязки быть evaulated.

Но если вы собираетесь это сделать, вы можете также назначить свойство в загрузке страницы.

+0

Вы правы. Это путь. Просто небольшая ошибка ввода: type = '<%# Banana %>' – themarcuz

+0

благодарит за возможность сообщить мне опечатку, которую я исправил. –

0

Я думаю, вы должны пойти со свойством (защищаемой должно быть от чего прийти, но я скажу общественности в следующем фрагменте) в коде позади:

Public Property myBanana() As String 
    Get 
     Return Pies.Banana; 
    End Get 
End Property 

Тогда вы можете использовать его в управлении, например:

<uc:LoadPie id="pieBanana" type="<%= myBanana%>" /> 
+0

В вашем коде он не отправит значение свойства в качестве значения, он отправит строку «<% = myBanana%>» в качестве значения для типа – Kronass

+0

Да , моя вина. Приветственное сообщение Криса Маллинса является правильным – themarcuz

0

Не совсем то, что вы хотите, но как насчет:

<% pieBanana["type"] = this.Banana %>