2013-10-07 7 views
3

У меня есть ярлык в элементе управления пользователем:Видимое свойство Лейбл акта только для чтения

<asp:Label runat="server" ID="lblRemainingPlacesMessage" Visible="false" /> 

Я хочу, чтобы настроить его видимость истину:

protected void Page_Load(object sender, EventArgs e) { 
    lblRemainingPlacesMessage.Visible = true; 
} 

Однако, этикетка все еще скрыт.

Что это меня озадачивает, что свойство не может быть изменен, даже в ближайшем окне, или отладчик местные часы:

(немедленное окно)

lblRemainingPlacesMessage.Visible 
false 
lblRemainingPlacesMessage.Visible = true 
true 
lblRemainingPlacesMessage.Visible 
false 

Что может объяснить, что мое свойство Visible не может быть изменено?

У меня нет исключения. Просто NOOP, как операция ...

У моего приложения включен режим просмотра. Больше всего, у меня есть другой ярлык на странице, который отлично работает!

Не знаю, если его дело, но я динамически создать экземпляр моего пользовательского элемента управления в моей странице владельца с помощью:

protected override void CreateChildControls() 
    { 
     m_VisualControl = (MyUserControl)Page.LoadControl(_ascxPath); 
     Controls.Add(m_VisualControl); 
    } 

Приложение использует ASP.Net WebForms с .net 3.5 SP1, и я использую Visual Studio 2012 Премиум.

+2

Можете ли вы опубликовать полную разметку aspx элемента управления? Или, если его слишком большой - по крайней мере, ближайших лейблов –

ответ

0

1) Вы должны создать любой динамический UserControl на OnInit или вы не сможете использовать ViewState:

2) Expose свойство метки, которые вы wan't изменить в свойстве UserControl

public bool HiddeMyLabel 
{ 
    set { lblRemainingPlacesMessage.Visible = value; } 
    get { lblRemainingPlacesMessage.Visible; } 
} 

3) Вы должны когда-либо использовать OnPreRender со страницы, чтобы изменить любое свойство элемента управления.

protected override void OnPreRender(EventArgs e) 
{ 
    MyUserControl.HiddeMyLabel = false; 
} 

4) Если вы все еще возникают проблемы, удалите скрытый атрибут вручную:

1

комментарий Юрия Galanter поставим меня на правильном пути.

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

Иногда простая проблема имеет простое разрешение :)

Смежные вопросы