Элемент управления ASP.NET с видимостью CSS: скрытый, не отображается на Control.Visible = true - PullRequest
6 голосов
/ 12 июля 2009

У меня есть несколько ярлыков на моей странице с классом 'error', правило для .error:

.error {
    color:Red;
    visibility:hidden    
}

Разметка для этикеток:

<asp:Label ID="lblError" runat="server" CssClass="error" ></asp:Label>

Затем я установил свойство .Text метки ошибки в своем коде.
Если я использую lblError.Visible = True, когда задаю текст, метка не отображается. Есть идеи, почему это будет? Возможно, я здесь не прав, но я подумал, что настройка. Visible похожа на настройку стиля видимости?

Ответы [ 3 ]

14 голосов
/ 12 июля 2009

Свойство Visible влияет на визуализацию всего элемента и не связано с атрибутом видимости CSS. При значении false виден, когда вообще не позволяет отображать HTML.

Чтобы изменить атрибут css, вам нужно будет сделать это вручную. Это можно сделать, удалив класс «error» из элемента (через свойство CssClass ) или установив атрибут style = "visibility: visible" вручную через свойство Attributes (поскольку атрибут style переопределяет класс css):

control.Attributes["style"] = "visibility: visible";
12 голосов
/ 12 июля 2009

Вы путаетесь между видимостью CSS и свойством Visible на стороне сервера элемента управления. Чтобы лучше это понять, я рекомендую вам создать образец страницы с меткой, переключить свойство Visible между true и false и просмотреть сгенерированный HTML.

То, что вы найдете, выглядит следующим образом. Как верно:

<div>
   <label runat="server" visible="true">Hello</label>
</div>

Будет оказывать:

<div>
    <label>Hello</label>
</div>

При значении false будет отображаться:

<div>

</div>
3 голосов
/ 12 июля 2009

Посмотрите на эту страницу, она должна уточнить вещи: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.style.aspx

Как написано ранее:

Свойство Visible находится на стороне сервера и определяет, будет ли сервер отображать элемент управления или нет (если он не отображен, для него не будет создан HTML, и он не будет в окончательной HTML-отправке клиенту).

Свойство Style управляет атрибутом стиля элемента. Элемент будет отображен, но вы можете управлять видимостью (CSS).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...